/* Self-hosted fonts (SIL OFL), Latin subset with variable weight. */
@font-face{font-family:Overpass;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/overpass-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Overpass Mono";font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/overpass-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* PARQ SA brand tokens, from the owner's share card (design/og_v5_joel.html). Night (dark) is the default, day (light) is chosen by data-theme or the system setting.
   Sign colors never change between themes. Measured contrast is in CLAUDE.md and tools/contrast.py. */
:root{
  /* brand colors, identical in both themes */
  --pink:#EE3F6E; --teal:#18B5AD; --teal-d:#0E7F79; --orange:#F07A1E; --purple:#8E6BB8; --svc:#6B3FA0; --mari:#F5B21A; --red:#D7261E;
  --ink:#141414; --lime:#F4EEDF; --on-sign:#FFFFFF; --svc-hover:#7C52B5; --dot:#2F7BFF;
  --river:#18B5AD;
  --sans:Overpass,"Helvetica Neue",Arial,sans-serif; --mono:"Overpass Mono",ui-monospace,Menlo,Consolas,monospace;

  /* night */
  --bg:#141414; --panel:#23262A; --raised:#2D3136; --text:#F4EEDF; --muted:#A9ADB1; --rule:#3A3F44; --line:#F4EEDF; --frame:#F4EEDF;
  --free-bg:#F4EEDF; --free-border:#F4EEDF; --hl:#F4EEDF; --heading:#18B5AD; --link:#FF7A9C;
  --rates-bg:#23262A; --rates-fg:#F5B21A; --cluster-bg:#141414; --map-bg:#1B1D20;
  --outside:#0B0B0B; --attrib-bg:rgba(35,38,42,.88);
  --bar-bg:#F4EEDF; --card:#23262A; --halo:#141414;
  --sky:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 390 30' preserveAspectRatio='none'%3E%3Cpath fill='%233A3F44' d='M0 30V23H16V17H22V13H38V23H46V30ZM46 30V19H52V16H70V21H78V30ZM78 30V24H96V30ZM96 30V11H100V8H104V5H108V2.5H109.2V0H110.8V2.5H112V5H116V8H120V11H124V30ZM124 30V20H134V15H146V24H150V30ZM150 30V25H158V30ZM158 30V21H164V30ZM164 30V13H168Q168 10 171 10Q174 10 175.5 7.5Q177 4 180 3Q183 4 184.5 7.5Q186 10 189 10Q192 10 192 13H196V30ZM179 3V1H181V3ZM196 30V21H202V30ZM202 30V19H212V14H224V22H232V30ZM232 30V12H240V9H252V16H258V30ZM258 30V24H282V30ZM282 30V25H297V30ZM297 30L299.2 11H300.8L303 30ZM289 11C291 6.5 296 5 300 5C304 5 309 6.5 311 11L308 13.5H292ZM296 5V3.5H304V5ZM299.2 3.5V0.4H300.8V3.5ZM303 30V25H312V30ZM312 30V21H324V16H338V24H346V30ZM346 30V17H356V12H368V22H376V30ZM376 30V24H390V30Z'/%3E%3C/svg%3E");
  color-scheme:dark;
}
/* day */
:root[data-theme="light"]{
  --bg:#F4EEDF; --panel:#FBF8EF; --raised:#E9E1CC; --text:#141414; --muted:#5C5447; --rule:#D9CFB5; --line:#141414; --frame:#141414;
  --free-bg:#FFFFFF; --free-border:#141414; --hl:#141414; --heading:#0B6F6A; --link:#B01E4E;
  --rates-bg:#FBF8EF; --rates-fg:#141414; --cluster-bg:#141414; --map-bg:#EDE5D0;
  --outside:#DDD3BC; --attrib-bg:rgba(251,248,239,.9);
  --bar-bg:#FFFFFF; --card:#FFFFFF; --halo:#FFFFFF;
  --sky:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 390 30' preserveAspectRatio='none'%3E%3Cpath fill='%23141414' d='M0 30V23H16V17H22V13H38V23H46V30ZM46 30V19H52V16H70V21H78V30ZM78 30V24H96V30ZM96 30V11H100V8H104V5H108V2.5H109.2V0H110.8V2.5H112V5H116V8H120V11H124V30ZM124 30V20H134V15H146V24H150V30ZM150 30V25H158V30ZM158 30V21H164V30ZM164 30V13H168Q168 10 171 10Q174 10 175.5 7.5Q177 4 180 3Q183 4 184.5 7.5Q186 10 189 10Q192 10 192 13H196V30ZM179 3V1H181V3ZM196 30V21H202V30ZM202 30V19H212V14H224V22H232V30ZM232 30V12H240V9H252V16H258V30ZM258 30V24H282V30ZM282 30V25H297V30ZM297 30L299.2 11H300.8L303 30ZM289 11C291 6.5 296 5 300 5C304 5 309 6.5 311 11L308 13.5H292ZM296 5V3.5H304V5ZM299.2 3.5V0.4H300.8V3.5ZM303 30V25H312V30ZM312 30V21H324V16H338V24H346V30ZM346 30V17H356V12H368V22H376V30ZM376 30V24H390V30Z'/%3E%3C/svg%3E");
  color-scheme:light;
}
/* No script: follow the system setting. */
@media (prefers-color-scheme:light){
  :root:not([data-theme]){
    --bg:#F4EEDF; --panel:#FBF8EF; --raised:#E9E1CC; --text:#141414; --muted:#5C5447; --rule:#D9CFB5; --line:#141414; --frame:#141414;
    --free-bg:#FFFFFF; --free-border:#141414; --hl:#141414; --heading:#0B6F6A; --link:#B01E4E;
    --rates-bg:#FBF8EF; --rates-fg:#141414; --cluster-bg:#141414; --map-bg:#EDE5D0;
    --outside:#DDD3BC; --attrib-bg:rgba(251,248,239,.9);
  --bar-bg:#FFFFFF; --card:#FFFFFF; --halo:#FFFFFF;
    --sky:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 390 30' preserveAspectRatio='none'%3E%3Cpath fill='%23141414' d='M0 30V23H16V17H22V13H38V23H46V30ZM46 30V19H52V16H70V21H78V30ZM78 30V24H96V30ZM96 30V11H100V8H104V5H108V2.5H109.2V0H110.8V2.5H112V5H116V8H120V11H124V30ZM124 30V20H134V15H146V24H150V30ZM150 30V25H158V30ZM158 30V21H164V30ZM164 30V13H168Q168 10 171 10Q174 10 175.5 7.5Q177 4 180 3Q183 4 184.5 7.5Q186 10 189 10Q192 10 192 13H196V30ZM179 3V1H181V3ZM196 30V21H202V30ZM202 30V19H212V14H224V22H232V30ZM232 30V12H240V9H252V16H258V30ZM258 30V24H282V30ZM282 30V25H297V30ZM297 30L299.2 11H300.8L303 30ZM289 11C291 6.5 296 5 300 5C304 5 309 6.5 311 11L308 13.5H292ZM296 5V3.5H304V5ZM299.2 3.5V0.4H300.8V3.5ZM303 30V25H312V30ZM312 30V21H324V16H338V24H346V30ZM346 30V17H356V12H368V22H376V30ZM376 30V24H390V30Z'/%3E%3C/svg%3E");
    color-scheme:light;
  }
}

/* Header chrome shared by the app and the static pages: a skyline (hand drawn paths, tools/skyline.svg) over a four band serape strip.
   Tower Life, the Alamo facade, Tower of the Americas and downtown blocks. */
.top::after{content:"";position:absolute;left:0;right:0;bottom:12px;height:20px;pointer-events:none;background:var(--sky) repeat-x center bottom / auto 100%}
.top::before{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;pointer-events:none;background:linear-gradient(var(--teal) 0 25%,var(--pink) 25% 50%,var(--orange) 50% 75%,var(--purple) 75% 100%)}
/* The brand plate: pink, black border, PARQ in ink, SAN ANTONIO in white at 19px bold (white on pink is 3.77:1, large text only). */
.bp{display:inline-block;background:var(--pink);color:var(--ink);border:3px solid var(--ink);outline:2px solid var(--frame);outline-offset:2px;padding:3px 10px 2px;text-decoration:none;margin:2px 2px 0}
.bp b{display:block;font-weight:900;font-size:24px;line-height:.9;letter-spacing:-.5px;text-transform:uppercase}
.bp i{display:block;font-style:normal;font-weight:900;font-size:19px;line-height:1.05;letter-spacing:1.6px;color:#fff;text-transform:uppercase}
