/* Hello Astoria - the front room, dressed.
   Built from the design system package of October 29, 2026 (Seat 78's
   Decorative System Sheet, Seat 56's prohibitions paragraph, the
   front-room dressing spec). Palette in code is the five Channel Markers
   and nothing else: buoy red #B23A1D, channel green #1E5B45, river steel
   #46606B, hull white #F6F3EC, tar line #22262A. Sun yellow #FEE453 exists
   only as the Cartouche Cage's corner blocks and inside drawn plates; it
   is never a ground and carries no text. No cream, no warm paper, no tan,
   no sepia, no brick red, in any variable, ground, or fill.
   Type cast (specimen-derived, section 5 of the system sheet): League
   Gothic for posted caps, Libre Franklin for working text. Newsreader
   italic is the cast's quoted-words face; the front room carries no
   quoted matter, so it is not loaded here.
   Stillness law: no animation and no transition anywhere on this page.
   The tile changes by exchanging one whole drawing for another. */

/* ---------- the cast, self-hosted ---------- */
@font-face{font-family:"League Gothic";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/league-gothic-400-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"League Gothic";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/league-gothic-400-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Libre Franklin";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/libre-franklin-400-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Libre Franklin";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/libre-franklin-400-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Libre Franklin";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/libre-franklin-600-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Libre Franklin";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/libre-franklin-600-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Libre Franklin";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/libre-franklin-700-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Libre Franklin";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/libre-franklin-700-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Libre Franklin";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/libre-franklin-400-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Libre Franklin";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/libre-franklin-400-italic-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --red:#B23A1D; --green:#1E5B45; --steel:#46606B; --hull:#F6F3EC; --tar:#22262A;
  --sun:#FEE453;
  --caps:"League Gothic","Arial Narrow","Helvetica Neue",sans-serif;
  --body:"Libre Franklin","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--hull);color:var(--tar);font-family:var(--body);font-size:17px;line-height:1.45}
a{color:var(--green)}
a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:2px}
h1,h2,h3{line-height:1.12;margin:0 0 .4em}
p{margin:0 0 .7em}
img{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.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}

/* ---------- the slim front bar (a name line, not a furniture band) --- */
.frontbar{border-bottom:3px solid var(--tar)}
.frontbar .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;padding-top:10px;padding-bottom:9px}
.wordmark{font-family:var(--caps);font-weight:400;letter-spacing:.05em;font-size:31px;text-transform:uppercase;color:var(--tar);text-decoration:none;line-height:1}
.tagline{font-size:15px;color:var(--steel);margin:0}
.langtog{margin-left:auto;font-family:var(--caps);text-transform:uppercase;letter-spacing:.06em;font-size:16px;background:none;border:1.5px solid var(--tar);padding:10px 14px;min-height:44px;cursor:pointer;color:var(--tar)}

/* ---------- 1. The Living Tile in its Hull Frame ---------- */
.tile{border:6px solid var(--tar);background:var(--tar);margin:14px 0 0}
.tile .platewrap{position:relative;line-height:0}
.tile img.plate{width:100%;height:auto;display:block}
.corner{position:absolute;top:14px;right:14px;background:var(--green);color:var(--hull);padding:11px 15px 10px;line-height:1.12;min-width:138px}
.corner .cplace{display:block;font-family:var(--caps);letter-spacing:.2em;font-size:14px;text-transform:uppercase}
.corner .ctime{display:block;font-family:var(--caps);font-size:36px;letter-spacing:.02em;margin-top:2px}
.corner .ctemp{display:block;font-family:var(--caps);font-size:31px}
.corner .extag{display:inline-block;margin-top:6px;border:1.5px solid var(--hull);font-family:var(--caps);letter-spacing:.09em;font-size:13px;padding:2px 7px;text-transform:uppercase}
@media(max-width:759px){
  .corner{position:static;width:100%;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 16px;padding:10px 14px}
  .corner .ctime{font-size:31px}
  .corner .ctemp{font-size:27px}
  .corner .extag{margin-top:0}
}
.band{background:var(--red);color:var(--hull);padding:12px 16px 11px;line-height:1.4}
.band .blab-row{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.band .extag{border:1.5px solid var(--hull);font-family:var(--caps);letter-spacing:.09em;font-size:13.5px;padding:2px 8px;text-transform:uppercase}
.band .blab-note{font-size:13.5px}
.band .bsentence{font-size:20.5px;font-weight:600;margin:7px 0 3px}
.band .bnotice{font-size:15.5px;margin:2px 0}
.band .blab{font-family:var(--caps);letter-spacing:.08em;text-transform:uppercase;font-size:15.5px;margin-right:8px}
.band .bsource{font-size:13.5px;margin:8px 0 0}

/* ---------- the Cartouche Cage (the medallions' frame) ----------
   The cage once also framed the marker teaching pair; that movement
   was removed Oct 29 when the site dropped the marker code, and the
   cage now serves the two medallions alone. */
.cage{position:relative;border:4px solid var(--tar);background:var(--hull);padding:16px 12px 8px;margin:0}
.cage::before,.cage::after,.cage .cnr::before,.cage .cnr::after{content:"";position:absolute;width:15px;height:15px;background:var(--sun);border:3px solid var(--tar)}
.cage::before{top:-8px;left:-8px}
.cage::after{top:-8px;right:-8px}
.cage .cnr::before{bottom:-8px;left:-8px}
.cage .cnr::after{bottom:-8px;right:-8px}
.cage .cname{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--hull);padding:1px 12px;font-family:var(--caps);letter-spacing:.15em;font-size:17px;text-transform:uppercase;white-space:nowrap;line-height:1.2}
.cage img{width:100%;height:auto;display:block}
.cage figcaption{font-size:16.5px;padding:11px 4px 3px;line-height:1.4}

/* ---------- the Posted Board (movements 3 and 5) ---------- */
.board{border:3px solid var(--tar);background:var(--hull);margin:24px 0 0}
.bhead{background:var(--tar);color:var(--hull);display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;padding:11px 14px}
.bhead h2{font-family:var(--caps);font-size:27px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;margin:0}
.bhead .bdate{font-family:var(--caps);letter-spacing:.05em;font-size:16px;text-transform:uppercase}
.bhead .bspace{flex:1}
#rainsOnBtn{font-family:var(--caps);text-transform:uppercase;letter-spacing:.06em;font-size:17px;background:var(--red);color:var(--hull);border:2px solid var(--hull);padding:10px 16px;min-height:48px;cursor:pointer}
#rainsOnBtn[aria-pressed="true"]{background:var(--hull);color:var(--red);border-color:var(--red)}
.bintro{margin:0;padding:10px 14px 4px;font-size:15.5px;max-width:66ch}
.prow{display:grid;grid-template-columns:38px 1fr auto;gap:3px 12px;padding:11px 14px;border-top:1.5px solid var(--tar);text-decoration:none;color:var(--tar);align-items:start;min-height:48px}
.prow:first-of-type{border-top:none}
.prow .pmark{grid-row:span 2;padding-top:2px}
/* the row's ticket end (Nov 4, 2026): the Stub CTA's punched tar strip,
   borrowed whole, so a plan row ends in the board's own ticket
   furniture and the word OPEN in posted caps. The strip bleeds to the
   row's edges, so the board's right side reads as one stub roll. */
.prow .pgo{grid-column:3;grid-row:1 / span 2;display:flex;align-items:stretch;align-self:stretch;margin:-11px -14px -11px 0}
.prow .pgo .pperf{width:13px;flex:none;background:radial-gradient(circle at 50% 50%, var(--hull) 2.8px, rgba(0,0,0,0) 3.6px) 0 0/13px 11px repeat-y,var(--tar)}
.prow .pgo .pgo-t{display:flex;align-items:center;padding:0 11px 0 9px;font-family:var(--caps);text-transform:uppercase;letter-spacing:.08em;font-size:15px;color:var(--tar)}
.prow:hover .pgo .pgo-t{color:var(--red)}
.prow .pname{font-weight:700;font-size:18.5px;line-height:1.25}
.prow .pmeta{font-size:15px;color:var(--steel)}
.prow .pmeta .fit{display:inline-block;font-family:var(--caps);text-transform:uppercase;letter-spacing:.06em;font-size:13px;border:1.5px solid var(--green);color:var(--green);padding:1px 7px;margin-left:8px;vertical-align:2px}
.prow .pmeta .rainmark{display:inline-block;font-family:var(--caps);text-transform:uppercase;letter-spacing:.06em;font-size:13px;border:1.5px solid var(--red);color:var(--red);padding:1px 7px;margin-left:8px;vertical-align:2px}
.bsub{background:var(--steel);color:var(--hull);font-family:var(--caps);letter-spacing:.08em;text-transform:uppercase;font-size:18px;padding:9px 14px;border-top:1.5px solid var(--tar)}
.brows{padding:2px 14px 8px}
.evlist{list-style:none;margin:6px 0;padding:0}
.evlist li{border-top:1px solid var(--steel);padding:9px 0}
.evlist li:first-child{border-top:none}
.evname{font-weight:700;font-size:17px}
.evmeta{font-size:15px}
.priceband{font-family:var(--caps);font-weight:400;letter-spacing:.05em;text-transform:uppercase}
.src{font-size:13.5px;color:var(--steel)}
.src a{color:var(--steel)}
.bfoot{border-top:1.5px solid var(--tar);padding:10px 14px;font-size:13.5px;color:var(--steel)}
.bfoot p{margin:0 0 4px}
.bfoot p:last-child{margin-bottom:0}
.bcta{display:flex;flex-wrap:wrap;gap:12px;padding:12px 14px;border-top:1.5px solid var(--tar);align-items:stretch}
.bannercta{display:inline-flex;align-items:center;gap:12px;min-height:48px;background:var(--green);color:var(--hull);font-family:var(--caps);letter-spacing:.06em;text-transform:uppercase;font-size:18px;padding:10px 16px;text-decoration:none;border:2.5px solid var(--tar)}
.bannercta::before,.bannercta::after{content:"";width:10px;height:10px;background:var(--hull);flex:none}
.stubcta{display:inline-flex;align-items:stretch;min-height:48px;background:var(--hull);color:var(--tar);border:2.5px solid var(--tar);cursor:pointer;font-family:var(--caps);letter-spacing:.06em;text-transform:uppercase;font-size:18px;padding:0}
.stubcta .perf{width:16px;flex:none;background:radial-gradient(circle at 50% 50%, var(--hull) 3.2px, rgba(0,0,0,0) 4px) 0 0/16px 13px repeat-y,var(--tar)}
.stubcta .stub-t{display:inline-flex;align-items:center;padding:10px 16px 10px 12px}

/* ---------- 4. The two workbenches, as vignette medallions -------- */
.medals{display:grid;grid-template-columns:1fr;gap:24px;margin:28px 0 4px}
@media(min-width:760px){.medals{grid-template-columns:1fr 1fr}}
.medal .mline{font-size:16.5px;padding:11px 4px 2px;line-height:1.45;margin:0}
.medaldoor{display:inline-flex;align-items:center;min-height:48px;font-weight:700;font-size:17px;color:var(--green);padding:4px;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:4px}
.stampmark{position:absolute;bottom:-18px;right:-4px;width:84px;height:84px;transform:rotate(-10deg);opacity:.92;pointer-events:none;line-height:1}
.counterline{border-top:9px solid var(--tar);margin:2px 2px 0}
.tiles{display:flex;flex-wrap:wrap;gap:12px 14px;padding:18px 8px 14px;align-items:flex-end}
.dtile{display:flex;flex-direction:column;align-items:center;gap:5px}
.dtile .dshape{display:block}
.dtile .dword{font-family:var(--caps);letter-spacing:.09em;font-size:13.5px;text-transform:uppercase}

/* ---------- 5. The directory board ---------- */
.drow{display:grid;grid-template-columns:30px 1fr;gap:3px 12px;padding:11px 14px;border-top:1.5px solid var(--tar);text-decoration:none;color:var(--tar);align-items:start;min-height:48px}
.drow:first-of-type{border-top:none}
.drow .dmark{grid-column:1;padding-top:3px}
.drow .dname{grid-column:2;font-family:var(--caps);text-transform:uppercase;letter-spacing:.05em;font-size:20px;font-weight:400;line-height:1.2;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:4px}
.drow .dline{grid-column:2;font-size:15.5px;color:var(--steel)}
.drow.current .dname{text-decoration:none}
.drow.current{background:var(--steel);color:var(--hull)}
.drow.current .dline{color:var(--hull)}
@media(min-width:760px){
  .drow{grid-template-columns:30px 250px 1fr;align-items:baseline}
  .drow .dline{grid-column:3}
  .drow .dname{grid-column:2}
  .drow .dmark{grid-column:1}
}

/* ---------- 6. The foot: the waterline close ---------- */
.frontfoot{margin-top:30px}
.frontfoot .waves{display:block;width:100%;height:56px}
.gift{padding:16px 0 30px;font-size:16px}
.gift p{max-width:68ch}
.gift .gdoors{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:6px}
.gift .gdoors a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.gift .gfacts{font-size:13.5px;color:var(--steel);margin-top:10px}

main .wrap{padding-bottom:6px}

/* ---------- print: the day sheet ---------- */
@media print{
  @page{size:letter;margin:.4in}
  /* the sheet is the poster, its band, and today's postings. Nothing else
     on the page prints, whoever asks: the button below calls bare
     window.print(), and bare Ctrl+P lands here too */
  .frontbar,.medals,#dirBoard,.frontfoot,.bcta,.bintro,.bfoot,.langtog,#rainsOnBtn,.bannercta{display:none !important}
  body{background:transparent;font-size:10.5pt}
  .tile{border-color:#000}
  .platewrap{width:58%;margin:0 auto}
  a{color:#000;text-decoration:none}
  .corner{position:static;width:100%;background:transparent;color:#000;border:2px solid #000;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px;padding:5px 10px}
  .corner .ctime{font-size:20pt;margin-top:0}
  .corner .ctemp{font-size:17pt}
  .corner .extag{margin-top:0}
  .band{background:transparent;color:#000;border-top:3px solid #000;padding:5px 10px 4px;line-height:1.32}
  .bsentence{font-size:12pt}
  .bnotice{margin:1px 0}
  #todayBoard{border-color:#000;break-inside:auto;margin-top:8px}
  .bhead,.bsub{background:transparent;color:#000;border:2px solid #000}
  .bhead{padding:5px 10px}
  .bhead h2{font-size:17pt}
  .bhead .bdate{font-size:11pt}
  .bsub{padding:4px 10px;font-size:12pt}
  .prow{padding:3px 10px;min-height:0;line-height:1.3}
  .prow .pname{font-size:12.5pt}
  .prow .pmeta{font-size:10pt}
  .prow .pmeta .fit,.prow .pmeta .rainmark{font-size:8.5pt;padding:0 5px}
  .brows{padding:0 10px 4px}
  .evlist{margin:2px 0}
  .evlist li{padding:2px 0}
  .evname{font-size:11.5pt}
  .evmeta{font-size:10pt}
  .src{font-size:8.5pt}
}
