:root{--fonts:"Georgia",Helvetica,serif;--background-image:url("/images/starscape-compressed.jpg");--background:rgba(44,44,44,1.0);--small-bg-text:30px;--large-bg-text:60px;--menu-background:rgba(0,70,220,0.75);--menu-height:max(10vh,2rem);--default-text:rgba(255,255,255,0.8);--default-link:rgba(255,255,255,1.0);--link-hover:rgba(0,0,0,1.0);--input-text:hsla(240,100%,70%,1.0);--full-alpha:1.0;--mid-alpha:0.4;--low-alpha:0.1;--no-alpha:0.0;--secondary-heading:1rem;--border-thickness:0.1rem;--top-border-gradient:linear-gradient(to right,rgba(0,0,0,0),var(--default-text),rgba(0,0,0,0));--input-background-color:rgba(0,0,0,var(--mid-alpha));}*,*::before,*::after{box-sizing:border-box;}html{color-scheme:dark light;}body{height:100%;margin:0;padding:0;font-family:var(--fonts);background-color:var(--background);background-image:var(--background-image);background-attachment:fixed;background-position:center center;background-repeat:no-repeat;background-size:cover;color:var(--default-text);}.bg-text{background-color:rgba(0,0,0,var(--no-alpha));color:rgba(255,255,255,var(--no-alpha));font-weight:bold;font-size:var(--large-bg-text);border:10px solid rgba(255,255,255,var(--no-alpha));position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:300px;padding:20px;text-align:center;animation:fade-effect 3s 2 ease-in-out alternate;}@keyframes fade-effect{0%{background-color:rgba(0,0,0,var(--no-alpha));color:rgba(255,255,255,var(--no-alpha));border:10px solid rgba(255,255,255,var(--no-alpha));font-size:var(--small-bg-text);}50%{background-color:rgba(0,0,0,var(--mid-alpha));color:rgba(255,255,255,var(--full-alpha));border:10px solid rgba(255,255,255,var(--full-alpha));font-size:var(--large-bg-text);}100%{background-color:rgba(0,0,0,var(--no-alpha));color:rgba(255,255,255,var(--no-alpha));border:10px solid rgba(255,255,255,var(--no-alpha));font-size:var(--small-bg-text);}}header{background:var(--menu-background);text-align:center;position:fixed;z-index:999;width:100%;}.header-logo{margin:0;height:var(--menu-height);}.nav-toggle{display:none;}.nav-toggle-label{position:absolute;top:0;left:0;margin-left:1em;height:100%;display:flex;align-items:center;cursor:pointer;}.nav-toggle-label span,.nav-toggle-label span::before,.nav-toggle-label span::after{display:block;background:var(--default-link);height:2px;width:2em;border-radius:2px;position:relative;transition:all 250ms ease-in-out;}.nav-toggle-label span::before,.nav-toggle-label span::after{content:'';position:absolute;}.nav-toggle-label span::before{bottom:7px;}.nav-toggle-label span::after{top:7px;}.nav-toggle:checked + .nav-toggle-label span{background:transparent;}.nav-toggle:checked + .nav-toggle-label span::before{transform:rotate(45deg);bottom:0;}.nav-toggle:checked + .nav-toggle-label span::after{transform:rotate(-45deg);top:0;}nav{position:absolute;text-align:left;top:100%;left:0;background:var(--menu-background);width:100%;transform:scale(1,0);transform-origin:top;transition:transform 400ms ease-in-out 250ms;}nav ul{margin:0;padding:0;list-style:none;}nav li{margin-bottom:1em;margin-left:1em;}nav a{color:var(--default-link);text-decoration:none;font-size:1.2rem;text-transform:uppercase;opacity:0;transition:opacity 250ms ease-in-out;}nav a:hover{color:var(--link-hover);}.nav-toggle:checked ~ nav{transform:scale(1,1);}.nav-toggle:checked ~ nav a{opacity:1;}.content{position:relative;top:var(--menu-height);padding-top:1em;}.wrapper{max-width:min(90vw,40rem);margin-inline:auto;padding:1rem;border:var(--border-thickness) solid var(--default-text);border-radius:1rem;background-color:rgba(255,255,255,var(--low-alpha));}.banner h1{text-align:center;font-size:2rem;}.article h2{text-align:center;font-size:1.5rem;margin-top:1rem;}.topright{position:absolute;right:0.5rem;top:0.15rem;font-size:0.5rem;}.bottomright{position:absolute;right:0.5rem;bottom:0.25rem;font-size:0.5rem;}.form-wrapper{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;justify-content:space-between;}.form-wrapper label{display:flex;align-items:center;gap:0.5rem;font:inherit;}.form-wrapper svg{flex-shrink:0;margin-right:0.5rem;vertical-align:middle;fill:var(--default-text);}.form-control{flex-grow:1;width:100%;font:inherit;background-color:var(--input-background-color);color:var(--input-text);box-shadow:3px 3px 5px rgba(0,0,0,var(--mid-alpha));padding:0.75rem;border-radius:0.3rem;border:var(--border-thickness) solid var(--default-text);}.message{width:100%;}.btn{background-color:var(--input-background-color);color:var(--default-text);padding:0.75rem;border-radius:1rem;box-shadow:3px 3px 5px rgba(0,0,0,var(--mid-alpha));font-size:1rem;cursor:pointer;transition:background-color 250ms ease-in-out;display:block;margin:auto;}.btn:hover{background-color:var(--menu-background);color:var(--link-hover);}@media screen and (min-width:700px){.nav-toggle-label{display:none;}header{display:grid;grid-template-columns:1fr auto minmax(600px,3fr) 1fr;}.logo{grid-column:2 / 3;}nav{all:unset;grid-column:3 / 4;display:flex;justify-content:flex-end;align-items:center;}nav ul{display:flex;justify-content:flex-end;}nav li{margin-left:3em;margin-bottom:0;}nav a{opacity:1;position:relative;}nav a::before{content:'';display:block;height:5px;background:var(--link-hover);position:absolute;top:-.75em;left:0;right:0;transform:scale(0,1);transform-origin:center;transition:transform ease-in-out 250ms;}nav a:hover::before{transform:scale(1,1);}.form-wrapper{display:grid;grid-template-columns:1fr 1fr;}.message{grid-column:span 2;}.btn{grid-column:span 2;justify-self:center;}}@media screen and (max-width:700px){.form-wrapper{flex-direction:column;align-items:stretch;}.form-wrapper label{flex-direction:row;align-items:center;}.form-control{width:100%;}.btn{width:auto;}.article h2{font-size:1.4rem;}}.form-success{margin:2rem 0;text-align:center;}.success-message{background:rgba(0,128,0,0.1);border:2px solid rgba(0,128,0,0.3);border-radius:8px;padding:2rem;margin:1rem 0;}.success-message h2{color:rgba(0,128,0,0.8);margin-bottom:1rem;}.success-message p{margin-bottom:1.5rem;font-size:1.1rem;}.form-errors{margin:2rem 0;}.error-message{background:rgba(255,0,0,0.1);border:2px solid rgba(255,0,0,0.3);border-radius:8px;padding:1.5rem;margin:1rem 0;}.error-message h3{color:rgba(255,0,0,0.8);margin-bottom:1rem;}.error-message ul{margin:0;padding-left:1.5rem;}.error-message li{margin-bottom:0.5rem;color:rgba(255,0,0,0.8);}.form-control:invalid{border-color:rgba(255,0,0,0.5);}.form-control:focus:invalid{border-color:rgba(255,0,0,0.8);box-shadow:0 0 0 2px rgba(255,0,0,0.2);}.form-control.valid{border-color:rgba(0,128,0,0.5);}.form-control.valid:focus{border-color:rgba(0,128,0,0.8);box-shadow:0 0 0 2px rgba(0,128,0,0.2);}.form-control.invalid{border-color:rgba(255,0,0,0.5);}.form-control.invalid:focus{border-color:rgba(255,0,0,0.8);box-shadow:0 0 0 2px rgba(255,0,0,0.2);}.btn:disabled{opacity:0.6;cursor:not-allowed;}.btn.loading{position:relative;color:transparent;}.btn.loading::after{content:'';position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;}@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}

/* Accessibility Improvements */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Skip to main content link */
.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: var(--menu-background);
  color: var(--default-link);
  padding: 8px;
  text-decoration: none;
  border-radius: 4px;
  z-index: 1000;
}

.skip-link:focus {
  top: 6px;
}

/* Focus indicators */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
  outline: 2px solid var(--default-link);
  outline-offset: 2px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  :root {
    --default-text: rgba(255, 255, 255, 1.0);
    --default-link: rgba(255, 255, 255, 1.0);
    --link-hover: rgba(255, 255, 255, 1.0);
  }
  
  .form-control {
    border: 2px solid var(--default-text);
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  
  .bg-text {
    animation: none;
  }
}

/* Print styles */
@media print {
  .nav-toggle-label,
  nav,
  .bg-text {
    display: none !important;
  }
  
  body {
    background: white !important;
    color: black !important;
  }
  
  .wrapper {
    border: 1px solid #ccc;
    background: white;
  }
}