/* 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}

/* ---------- 2. One line of orientation, then the marker pair ------ */
.orient-line{font-size:18.5px;margin:20px 0 2px;max-width:64ch}
.markpair{display:grid;grid-template-columns:1fr;gap:22px;margin:20px 0 4px}
@media(min-width:760px){.markpair{grid-template-columns:1fr 1fr}}
.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)}
.prow{display:grid;grid-template-columns:38px 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}
.prow:first-of-type{border-top:none}
.prow .pmark{grid-row:span 2;padding-top:2px}
.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}
.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}
.drow .dline{grid-column:2;font-size:15.5px;color:var(--steel)}
.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{
  .langtog,#rainsOnBtn,.bannercta{display:none !important}
  body{background:transparent;font-size:12.5pt}
  .tile,.board,.cage{border-color:#000;break-inside:avoid}
  a{color:#000;text-decoration:none}
  .corner{position:static;width:100%;background:transparent;color:#000;border:2px solid #000}
  .band{background:transparent;color:#000;border-top:3px solid #000}
  .bhead,.bsub{background:transparent;color:#000;border:2px solid #000}
  .frontfoot .waves{display:none}
}
