/* Press: inspired by the Stripe Press bookshelf. Plum-black room, silver serif type, gold accents; stations
   and sections are hardcover books lying flat in a stack, each with its own cloth and patterned top board.
   Pointing at a book slides it out of the stack and the whole room takes on its colour. */
html[data-theme="press"] {
  color-scheme:dark;
  --press-serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --font:var(--press-serif);
  --bg:#201819; --panel:#2a2122; --panel-2:#342a2b; --border:#d0d1d42e; --line:#d0d1d42e; --line-hi:#d0d1d466;
  --text:#d0d1d4; --muted:#9b9597; --input-bg:#1b1415; --link:#dbc895;
  --accent:#dbc895; --accent-2:#7fc4b4; --accent-3:#c8abd4; --tint:#dbc895;
  --green:#9bd0b1; --red:#ff9f94; --amber:#dbc895; --orange:#f1b18b;
  --radius:0px; --radius-btn:0px; --radius-input:0px;
  --surface:transparent; --surface-border-color:var(--line); --app-bg:var(--bg);
  --grad-brand:linear-gradient(var(--text),var(--text));
  --grad-primary:linear-gradient(transparent,transparent);
  --grad-primary-hover:linear-gradient(var(--accent),var(--accent));
  --btn-soft:linear-gradient(transparent,transparent); --btn-soft-hover:linear-gradient(#d0d1d414,#d0d1d414);
  --shadow:none; --shadow-glow:none;
  --press-ease:cubic-bezier(.22,1,.36,1);
  --press-tint:var(--bg); --press-hover:var(--bg);
  --cur-hand:url('/cursors/press.png') 3 2;
  background:var(--bg);
}
html[data-theme="press"][data-mode="light"] {
  color-scheme:light;
  --bg:#ebe5d9; --panel:#f4efe5; --panel-2:#e2dacb; --border:#2a222633; --line:#2a222630; --line-hi:#2a222670;
  --text:#2a2226; --muted:#6c6266; --input-bg:#f8f4ec; --link:#7a5a1c;
  --accent:#7a5a1c; --accent-2:#28685f; --accent-3:#70537b; --tint:#7a5a1c;
  --green:#286245; --red:#a12e27; --amber:#7a5a1c; --orange:#9a4924;
}

/* ---------- the room ---------- */
html[data-theme="press"][data-mode][data-style] body {
  background:var(--bg); background-image:none; font-family:var(--press-serif);
  transition:background-color .8s var(--press-ease);
}
html[data-theme="press"][data-mode][data-style] body:has(.sn-press) { background-color:color-mix(in srgb,var(--press-tint) 30%,var(--bg)); }
html[data-theme="press"][data-mode="light"][data-style] body:has(.sn-press) { background-color:color-mix(in srgb,var(--press-tint) 16%,var(--bg)); }
html[data-theme="press"][data-mode][data-style] body:has(.station-grid > :hover) { background-color:color-mix(in srgb,var(--press-hover) 34%,var(--bg)); }
html[data-theme="press"][data-mode="light"][data-style] body:has(.station-grid > :hover) { background-color:color-mix(in srgb,var(--press-hover) 18%,var(--bg)); }
html[data-theme="press"] body:has(.station-grid > :nth-child(3n+1):hover) { --press-hover:#1f6a6c; }
html[data-theme="press"] body:has(.station-grid > :nth-child(3n+2):hover) { --press-hover:#d6cc8c; }
html[data-theme="press"] body:has(.station-grid > :nth-child(3n):hover) { --press-hover:#9b1b4f; }
html[data-theme="press"] body:has(.station-grid > .add-card:hover) { --press-hover:#3d5068; }

html[data-theme="press"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--press-serif); font-weight:600; letter-spacing:-.015em; color:var(--text); }
html[data-theme="press"][data-mode][data-style] .section-head h2 { font-size:clamp(30px,3vw,44px); line-height:1.1; font-weight:500; }
html[data-theme="press"][data-mode][data-style] .section-head h2::after { content:""; display:block; width:44px; height:1px; margin-top:16px; background:var(--line-hi); }
html[data-theme="press"][data-mode][data-style] :is(.topbar,.breadcrumbs) { background:transparent; backdrop-filter:none; box-shadow:none; border-color:var(--line); }
html[data-theme="press"][data-mode][data-style] .topbar .brand { font-size:19px; font-weight:600; }
html[data-theme="press"][data-mode][data-style] .topbar .brand::after { content:"Ideas for the till"; display:block; font:italic 500 14px/1.2 var(--press-serif); color:var(--text); opacity:.85; letter-spacing:0; }
html[data-theme="press"] :is(.muted,.small,.meta,label) { font-family:var(--press-serif); }
html[data-theme="press"] :is(td,.value,.sc-bal-num,input) { font-variant-numeric:tabular-nums lining-nums; }

/* Panels are hairline-ruled pages, not raised cards. */
html[data-theme="press"][data-mode][data-style] :is(.card,.stat,.panel) { border-radius:0; background:transparent; border:1px solid var(--line); box-shadow:none; backdrop-filter:none; }
html[data-theme="press"][data-mode][data-style] .modal { border-radius:0; background:var(--bg); border:1px solid var(--line-hi); box-shadow:0 30px 80px -30px #000c; }
html[data-theme="press"][data-mode][data-style] :is(.card,.stat)::before,
html[data-theme="press"][data-mode][data-style] :is(.card,.stat)::after { content:none; }

/* Controls: bordered rows with gold type, the way the shop links read on press.stripe.com. */
html[data-theme="press"][data-mode][data-style] :is(.btn,.tab,.seg button) {
  border-radius:0; box-shadow:none !important; text-transform:none; letter-spacing:0; font:500 15px/1.2 var(--press-serif);
  border:1px solid var(--line-hi); border-style:solid; background:transparent; color:var(--text);
  transition:background-color .25s var(--press-ease),color .25s var(--press-ease),border-color .25s;
}
html[data-theme="press"][data-mode][data-style] :is(.btn.primary,.btn.info) { color:var(--accent) !important; border-color:var(--accent) !important; background:transparent !important; }
html[data-theme="press"][data-mode][data-style] :is(.btn.primary,.btn.info):hover { color:var(--bg) !important; background:var(--accent) !important; }
html[data-theme="press"][data-mode][data-style] :is(.tab.active,.seg button.active) { color:var(--accent) !important; background:transparent !important; border-color:var(--accent) !important; box-shadow:inset 0 -2px 0 var(--accent) !important; }
html[data-theme="press"][data-mode][data-style] :is(.btn.ghost,.tab:not(.active),.seg button:not(.active)):hover { background:#d0d1d412; }
html[data-theme="press"][data-mode][data-style] .btn:active { transform:translateY(1px); }
html[data-theme="press"][data-mode][data-style] :is(input,select,textarea) { background:var(--input-bg); color:var(--text); border:1px solid var(--line-hi); border-radius:0; box-shadow:none !important; caret-color:var(--accent); font-family:var(--press-serif); }
html[data-theme="press"][data-mode] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]),textarea,[contenteditable="true"]) { cursor:text !important; }
html[data-theme="press"][data-mode] :disabled { cursor:not-allowed !important; opacity:.55; }
html[data-theme="press"] :focus-visible { outline:1px solid var(--accent) !important; outline-offset:4px; }
html[data-theme="press"] ::selection { background:var(--accent); color:var(--bg); }
html[data-theme="press"] * { scrollbar-color:var(--line-hi) transparent; }
html[data-theme="press"][data-mode][data-style] th { background:transparent; color:var(--muted); font:italic 500 14px var(--press-serif); border-bottom:1px solid var(--line-hi); }
html[data-theme="press"][data-mode][data-style] td { border-color:var(--line); }
html[data-theme="press"][data-mode][data-style] .badge { border-radius:0; font-family:var(--press-serif); }

/* ---------- dashboard: the stations are books lying in a stack ---------- */
html[data-theme="press"][data-mode][data-style] .station-grid {
  display:flex !important; flex-direction:column; gap:54px !important; max-width:1040px; margin:30px auto 40px; padding:30px 0 10px;
}
html[data-theme="press"][data-mode][data-style] .station-grid > :is(.station-card,.add-card) {
  --cloth:#1f6a6c; --ink:#f3ecd8; --rule:#f3ecd855;
  --top:linear-gradient(180deg,#ffffff55,#ffffff14 38%,transparent 60%),radial-gradient(ellipse 38% 140% at 18% 100%,#46c2ad 0,transparent 70%),radial-gradient(ellipse 34% 130% at 52% 0%,#e9b07a 0,transparent 70%),radial-gradient(ellipse 30% 150% at 84% 90%,#2f4fa8 0,transparent 72%),linear-gradient(90deg,#1b6f72,#237b78 50%,#1a5f69);
  position:relative; overflow:visible; isolation:isolate; min-height:0; width:100%; box-sizing:border-box;
  color:var(--ink); border:0 !important; border-radius:2px !important; padding:28px 34px 26px !important;
  background:linear-gradient(180deg,#ffffff1c,transparent 22%,transparent 72%,#0000003a),
             linear-gradient(105deg,transparent 35%,#ffffff2e 48%,#ffffff10 54%,transparent 64%) -120% 0/60% 100% no-repeat,var(--cloth) !important;
  box-shadow:0 1px 0 #ffffff22 inset,0 18px 30px -18px #000d,0 3px 0 -1px #0005 !important;
  display:grid !important; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto auto; column-gap:34px; row-gap:6px; align-items:start;
  transform-origin:50% 100%;
  transition:transform .55s var(--press-ease),box-shadow .55s var(--press-ease),opacity .5s,background-position 1.1s var(--press-ease);
}
/* The top board: the patterned cover seen from above, foreshortened into the room. */
html[data-theme="press"][data-mode][data-style] .station-grid > :is(.station-card,.add-card)::before {
  content:""; display:block !important; position:absolute; top:auto; left:0; right:0; bottom:calc(100% - 1px); height:44px; z-index:-1; opacity:1;
  background:var(--top); background-color:var(--cloth);
  transform:perspective(520px) rotateX(64deg); transform-origin:50% 100%;
  box-shadow:inset 0 -1px 0 #ffffff66,inset 0 -8px 12px -8px #0006; border-radius:3px 3px 0 0;
  transition:transform .55s var(--press-ease);
}
/* Head- and tail-bands. */
html[data-theme="press"][data-mode][data-style] .station-grid > :is(.station-card,.add-card)::after {
  content:""; display:block !important; position:absolute; inset:7px 0 auto; height:calc(100% - 14px); pointer-events:none;
  border-block:1px solid #ffffff14;
}
html[data-theme="press"][data-mode][data-style] .station-grid > :nth-child(3n+2) {
  --cloth:#d6cc8c; --ink:#2b2734; --rule:#2b273444;
  --top:linear-gradient(180deg,#ffffff55,#ffffff14 38%,transparent 60%),radial-gradient(ellipse 36% 150% at 80% 0%,#7c5cc4 0,transparent 70%),radial-gradient(ellipse 30% 130% at 22% 100%,#9a80d6 0,transparent 72%),linear-gradient(90deg,#e0d69a,#d3c785 55%,#e3dba6);
}
html[data-theme="press"][data-mode][data-style] .station-grid > :nth-child(3n):not(.add-card) {
  --cloth:#9b1b4f; --top:linear-gradient(180deg,#ffffff55,#ffffff14 38%,transparent 60%),radial-gradient(ellipse 40% 150% at 60% 40%,#e0508e 0,transparent 70%),radial-gradient(ellipse 30% 120% at 15% 100%,#c0306a 0,transparent 72%),linear-gradient(90deg,#8e1848,#a8235a 50%,#7c1240);
}
html[data-theme="press"][data-mode][data-style] .station-grid > .add-card {
  --cloth:#3d5068; --ink:#f3ecd8; --top:linear-gradient(180deg,#ffffff55,#ffffff14 38%,transparent 60%),radial-gradient(ellipse 40% 150% at 30% 0%,#6e86a6 0,transparent 70%),radial-gradient(ellipse 30% 130% at 80% 100%,#2c3d55 0,transparent 72%),linear-gradient(90deg,#3a4d66,#4a6080 50%,#34465e);
  display:flex !important; align-items:center; justify-content:center; min-height:96px; font:500 20px var(--press-serif); color:var(--ink) !important;
}
/* The cover: title and imprint top left, the price list and last load as the publisher's line top right, and the
   day's figures across the whole cover as four ruled columns (a colophon), the shift's flags on one ruled line. */
html[data-theme="press"][data-mode][data-style] .station-card > .sc-head { grid-column:1; grid-row:1; display:flex; flex-direction:row; align-items:baseline; flex-wrap:wrap; gap:6px 18px; margin:0; }
html[data-theme="press"][data-mode][data-style] .station-card > .sc-head .sc-tags { display:flex; align-items:center; gap:10px; }
html[data-theme="press"][data-mode][data-style] .station-card > .ov { display:contents; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-prices { grid-column:2; grid-row:1; justify-content:flex-end; align-self:center; margin:0; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-rows { grid-column:2; grid-row:2; margin:0; border:0; padding:0; justify-self:end; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-rows .ov-row { border:0; padding:0; gap:12px; justify-content:flex-end; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-balance {
  grid-column:1 / -1; grid-row:3; margin:14px 0 0; padding:18px 0 0; border:0 !important; border-top:1px solid var(--rule) !important; border-radius:0; background:none; box-shadow:none;
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); column-gap:0; row-gap:14px; text-align:left;
}
html[data-theme="press"][data-mode][data-style] .station-card .sc-balance.sc-empty { display:block; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-cash { display:contents; }
html[data-theme="press"][data-mode][data-style] .station-card :is(.sc-stat, .sc-cash-box) {
  display:flex; flex-direction:column; gap:4px; min-width:0; margin:0; padding:0 22px; border:0; border-radius:0; background:none !important; box-shadow:none;
  border-left:1px solid var(--rule);
}
html[data-theme="press"][data-mode][data-style] .station-card .sc-stat:first-child { padding-left:0; border-left:0; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-stat .sc-bal-label { order:-1; margin:0; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-cash-box .sc-cash-s { font:italic 13px var(--press-serif); letter-spacing:0; text-transform:none; opacity:.75; margin:0; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-cash-box .sc-cash-v { font:500 clamp(24px,2.3vw,32px)/1.1 var(--press-serif) !important; white-space:nowrap; overflow:visible; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-cash-box.now .sc-cash-l::after { content:" ●"; color:#7fe0a0; letter-spacing:0; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-stat .sc-spark { width:100%; height:22px; margin-top:4px; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-spark rect { fill:currentColor; opacity:.35; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-spark rect.now { opacity:.95; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-flags {
  grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; margin:0; padding:12px 0 0; border-top:1px solid var(--rule);
}
html[data-theme="press"][data-mode][data-style] .station-card .sc-flags .sc-flag-l { margin:0 6px 0 0; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-flag { background:transparent; border:1px solid var(--rule); border-radius:0; color:var(--ink); font:500 13px var(--press-serif); letter-spacing:.02em; padding:4px 10px; box-shadow:none; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-flag .sc-bal-label { font:inherit; letter-spacing:inherit; text-transform:none; margin:0; opacity:.75; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-flag.hot { background:#c8243f; border-color:#c8243f; color:#fff8ec !important; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-day { grid-column:1 / -1; margin:0; padding:0; border:0; font:italic 13.5px var(--press-serif); color:var(--ink) !important; opacity:.85; }
html[data-theme="press"][data-mode][data-style] .station-card :is(h3,.meta,.sc-bal-num,.sc-bal-label,.sc-bal-suffix,.ov-l,.ov-v,.gp,.muted,.sc-row) { color:var(--ink) !important; }
html[data-theme="press"][data-mode][data-style] .station-card h3 { font:500 clamp(26px,2.4vw,34px)/1.1 var(--press-serif); margin:0; letter-spacing:-.01em; }
html[data-theme="press"][data-mode][data-style] .station-card .meta { font:italic 500 16px var(--press-serif); opacity:.9; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-bal-num { font:500 clamp(26px,2.5vw,34px)/1.1 var(--press-serif); }
html[data-theme="press"][data-mode][data-style] .station-card .sc-bal-suffix { font:italic 15px var(--press-serif); margin-left:6px; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-bal-label { font:500 10.5px var(--press-serif); letter-spacing:.16em; text-transform:uppercase; opacity:.8; margin-top:6px; }
html[data-theme="press"][data-mode][data-style] .station-card .gp { background:transparent; border:1px solid var(--rule); border-radius:0; font:500 13px var(--press-serif); letter-spacing:.06em; box-shadow:none; }
html[data-theme="press"][data-mode][data-style] .station-card .ov-row { border-color:var(--rule); font-size:14px; }
html[data-theme="press"][data-mode][data-style] .station-card .sc-badge { color:var(--ink); background:transparent; border:1px solid var(--rule); border-radius:0; font:500 11px var(--press-serif); letter-spacing:.14em; text-transform:uppercase; padding:4px 9px; }
@keyframes press-land { from { transform:translateY(-38px) rotate(-1.4deg); opacity:0; } 62% { transform:translateY(3px) rotate(.25deg); opacity:1; } to { transform:none; } }
@media (prefers-reduced-motion:no-preference) {
  html[data-theme="press"][data-mode][data-style] .station-grid > * { animation:press-land .9s var(--press-ease) backwards !important; }
  html[data-theme="press"] .station-grid > :nth-child(1) { animation-delay:.18s !important; }
  html[data-theme="press"] .station-grid > :nth-child(2) { animation-delay:.09s !important; }
  html[data-theme="press"] .station-grid > :nth-child(3) { animation-delay:0s !important; }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  /* Pulled half out of the stack, the way a book is taken off the shelf. */
  html[data-theme="press"][data-mode][data-style] .station-grid > :is(.station-card,.add-card):hover { transform:translateX(26px) rotate(-.9deg) translateY(-4px); box-shadow:0 1px 0 #ffffff22 inset,0 30px 44px -22px #000e !important; }
  html[data-theme="press"][data-mode][data-style] .station-grid > :is(.station-card,.add-card):hover { background-position:0 0,220% 0,0 0 !important; }
  html[data-theme="press"][data-mode][data-style] .station-grid > :is(.station-card,.add-card):hover::before { transform:perspective(520px) rotateX(56deg); }
  html[data-theme="press"][data-mode][data-style] .station-grid:has(> :hover) > :not(:hover) { opacity:.72; }
}

/* ---------- station pages: a stack of section books in the left column ---------- */
html.sn-on[data-theme="press"][data-mode] .station-rail-left { display:none !important; }
html.sn-on[data-theme="press"][data-mode] :is(.station-layout,.station-layout:not(.has-right)) { display:grid !important; grid-template-columns:300px minmax(0,1fr) !important; grid-template-rows:auto 1fr; column-gap:44px; }
html.sn-on[data-theme="press"] .station-layout > .sn-press { grid-column:1; grid-row:1 / 3; align-self:start; position:sticky; top:84px; z-index:6; max-height:calc(100vh - 96px); overflow:auto; scrollbar-width:none; padding:8px 30px 24px 2px; margin-right:-28px; width:auto; min-width:0; }
html.sn-on[data-theme="press"] .station-layout > .station-rail-right { grid-column:2; grid-row:1; width:100%; min-width:0; position:static; max-height:none; }
html.sn-on[data-theme="press"] .station-layout > .station-main { grid-column:2; grid-row:2; width:100%; min-width:0; }
.sn-press .press-head { display:flex; flex-direction:column; margin:0 0 30px; }
.sn-press .press-head b { font:600 18px/1.2 var(--press-serif); color:var(--text); }
.sn-press .press-head i { font:italic 500 15px/1.3 var(--press-serif); color:var(--text); opacity:.8; }
.sn-press .press-stack { display:flex; flex-direction:column; gap:24px; padding-top:12px; }
.sn.sn-press button.press-spine, .sn-press button.press-spine {
  --ink:#f3ecd8; position:relative; isolation:isolate; display:grid; grid-template-columns:62px 1fr 26px; align-items:center; gap:8px;
  width:100%; box-sizing:border-box; min-height:52px; padding:0 14px; cursor:pointer;
  color:var(--ink); font:500 17px/1.1 var(--press-serif);
  background:linear-gradient(105deg,transparent 35%,#ffffff2e 48%,#ffffff10 54%,transparent 64%) -120% 0/60% 100% no-repeat,
             linear-gradient(180deg,#ffffff22,transparent 34%,transparent 70%,#0000003a),var(--cloth);
  border-radius:2px; box-shadow:0 12px 18px -12px #000c,inset 0 1px 0 #ffffff30;
  transition:transform .5s var(--press-ease),box-shadow .5s var(--press-ease),opacity .4s,background-position 1.1s var(--press-ease);
}
.sn-press button.press-spine::before {
  content:""; position:absolute; left:0; right:0; bottom:calc(100% - 1px); height:20px; z-index:-1;
  background:var(--top,linear-gradient(180deg,#ffffff55,#ffffff14 38%,transparent 60%),var(--cloth)); border-radius:2px 2px 0 0; box-shadow:inset 0 -1px 0 #ffffff66;
  transform:perspective(300px) rotateX(62deg); transform-origin:50% 100%;
}
.sn.sn-press button.press-spine:nth-child(2), .sn-press button.press-spine:nth-child(2) { --ink:#2b2734; }
.sn-press button.press-spine:nth-child(1) { --top:linear-gradient(180deg,#ffffff55,#ffffff14 38%,transparent 60%),radial-gradient(ellipse 38% 140% at 18% 100%,#46c2ad 0,transparent 70%),radial-gradient(ellipse 34% 130% at 52% 0%,#e9b07a 0,transparent 70%),radial-gradient(ellipse 30% 150% at 84% 90%,#2f4fa8 0,transparent 72%),linear-gradient(90deg,#1b6f72,#237b78 50%,#1a5f69); }
.sn-press button.press-spine:nth-child(2) { --top:linear-gradient(180deg,#ffffff55,#ffffff14 38%,transparent 60%),radial-gradient(ellipse 36% 150% at 80% 0%,#7c5cc4 0,transparent 70%),radial-gradient(ellipse 30% 130% at 22% 100%,#9a80d6 0,transparent 72%),linear-gradient(90deg,#e0d69a,#d3c785 55%,#e3dba6); }
.sn-press button.press-spine:nth-child(3) { --top:linear-gradient(180deg,#ffffff55,#ffffff14 38%,transparent 60%),radial-gradient(ellipse 40% 150% at 60% 40%,#e0508e 0,transparent 70%),radial-gradient(ellipse 30% 120% at 15% 100%,#c0306a 0,transparent 72%),linear-gradient(90deg,#8e1848,#a8235a 50%,#7c1240); }
.sn-press button.press-spine:nth-child(4) { --top:linear-gradient(180deg,#ffffff55,#ffffff14 38%,transparent 60%),radial-gradient(ellipse 40% 150% at 30% 0%,#6e86a6 0,transparent 70%),radial-gradient(ellipse 30% 130% at 80% 100%,#2c3d55 0,transparent 72%),linear-gradient(90deg,#3a4d66,#4a6080 50%,#34465e); }
.sn-press button.press-spine:nth-child(5) { --top:linear-gradient(180deg,#ffffff55,#ffffff14 38%,transparent 60%),radial-gradient(ellipse 45% 160% at 50% 0%,#a6a8ae 0,transparent 70%),linear-gradient(90deg,#55565c,#6d6e74 50%,#55565c); }
.sn-press button.press-spine:nth-child(6) { --top:linear-gradient(180deg,#ffffff55,#ffffff14 38%,transparent 60%),radial-gradient(ellipse 36% 150% at 70% 10%,#c9824f 0,transparent 70%),radial-gradient(ellipse 26% 120% at 20% 100%,#7a4bc0 0,transparent 74%),linear-gradient(90deg,#874a29,#a35d36 50%,#82452a); }
.sn-press .press-spine-by { font:500 9.5px/1.2 var(--press-serif); letter-spacing:.16em; text-transform:uppercase; opacity:.85; }
.sn-press .press-spine-title { text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sn-press .press-spine-mark { justify-self:end; display:grid; place-items:center; width:22px; height:22px; border:1px solid currentColor; border-radius:50%; font:italic 600 9.5px var(--press-serif); opacity:.8; }
.sn.sn-press button.press-spine[aria-selected="true"] { transform:translateX(16px); box-shadow:0 18px 26px -14px #000e,-3px 0 0 var(--accent); }
.sn-press .press-stack:hover button.press-spine:not(:hover):not([aria-selected="true"]) { opacity:.62; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .sn.sn-press button.press-spine:hover { transform:translateX(24px) rotate(-1deg); box-shadow:0 22px 30px -16px #000e,inset 0 1px 0 #ffffff30; background-position:220% 0,0 0,0 0; }
}
/* The open book: title, italic byline, a short rule, and the pages as bordered rows with an arrow cell. */
.sn-press .press-books { margin-top:34px; }
.sn-press .press-book[hidden] { display:none; }
.sn-press .press-book-title { margin:0; font:600 24px/1.15 var(--press-serif); color:var(--text); letter-spacing:-.01em; }
.sn-press .press-book-sub { margin:4px 0 0; font:italic 500 15px/1.35 var(--press-serif); color:var(--text); opacity:.85; }
.sn-press .press-book-sub b { font-weight:600; color:var(--accent); }
.sn-press .press-rule { width:36px; height:1px; border:0; margin:18px 0 20px; background:var(--line-hi); }
.sn-press .press-rows { display:flex; flex-direction:column; }
.sn.sn-press button.press-row, .sn-press button.press-row {
  display:grid; grid-template-columns:1fr 40px; align-items:stretch; width:100%; box-sizing:border-box; min-height:42px; margin-top:-1px;
  border:1px solid var(--line-hi); color:var(--text); font:500 15px/1.2 var(--press-serif); cursor:pointer; position:relative;
  background:linear-gradient(90deg,var(--accent) 0 0) 0 0/0 100% no-repeat; transition:background-size .45s var(--press-ease),color .3s;
}
.sn-press .press-row-name { padding:11px 14px; text-align:left; }
.sn-press .press-row-go { display:grid; place-items:center; border-left:1px solid var(--line-hi); font-size:13px; transition:transform .3s var(--press-ease); }
.sn.sn-press button.press-row:hover { background-size:4px 100%; }
.sn-press button.press-row:hover .press-row-go { transform:translate(2px,-2px); }
.sn.sn-press button.press-row[aria-current="page"] { color:var(--bg); background-size:100% 100%; border-color:var(--accent); }
.sn-press button.press-row[aria-current="page"] .press-row-go { border-color:#0003; }
@keyframes press-open { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:no-preference) {
  .sn-press .press-book:not([hidden]) > * { animation:press-open .5s var(--press-ease) backwards; }
  .sn-press .press-book:not([hidden]) > .press-book-sub { animation-delay:.05s; }
  .sn-press .press-book:not([hidden]) > .press-rule { animation-delay:.1s; }
  .sn-press .press-book:not([hidden]) > .press-rows { animation-delay:.14s; }
}
/* The tick ruler on the left edge: one tick per page, the open page drawn long and bright. */
.sn-press .press-ruler { position:fixed; left:14px; top:50%; transform:translateY(-50%); z-index:30; margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:5px; }
.sn-press .press-ruler li.gap { margin-top:9px; }
.sn.sn-press .press-ruler button { display:block; width:14px; height:9px; cursor:pointer; position:relative; background:linear-gradient(var(--text),var(--text)) 0 50%/10px 1.5px no-repeat; opacity:.45; transition:background-size .35s var(--press-ease),opacity .25s; }
.sn.sn-press .press-ruler button:hover { background-size:14px 1.5px; opacity:1; }
.sn.sn-press .press-ruler button[aria-current="page"] { background-size:16px 2px; background-image:linear-gradient(var(--accent),var(--accent)); opacity:1; }
.sn-press .press-ruler button::after { content:attr(data-label); position:absolute; left:24px; top:50%; transform:translate(-6px,-50%); white-space:nowrap; font:italic 500 14px var(--press-serif); color:var(--text); background:var(--bg); padding:3px 8px; border:1px solid var(--line); opacity:0; pointer-events:none; transition:opacity .2s,transform .3s var(--press-ease); }
.sn-press .press-ruler button:hover::after { opacity:1; transform:translate(0,-50%); }

/* ---------- station content ---------- */
html[data-theme="press"][data-mode][data-style] .station-stats-side { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:0; border:1px solid var(--line); }
html[data-theme="press"][data-mode][data-style] .station-stats-side .stat { width:auto; min-width:0; border:0; border-left:1px solid var(--line); border-radius:0; box-shadow:none !important; background:transparent; padding:14px 18px; }
html[data-theme="press"][data-mode][data-style] .station-stats-side .stat:first-child { border-left:0; }
html[data-theme="press"][data-mode][data-style] .stat .label { font:italic 500 14px var(--press-serif); text-transform:none; letter-spacing:0; color:var(--muted); }
html[data-theme="press"][data-mode][data-style] .stat .value { font:500 clamp(22px,2vw,28px) var(--press-serif); color:var(--text); }
html[data-theme="press"][data-mode][data-style] .month-bar { flex-wrap:wrap; }
html[data-theme="press"][data-mode][data-style] .month-bar .title { font:600 22px var(--press-serif); }
html[data-theme="press"][data-mode][data-style] .cal .dow { font:italic 500 14px var(--press-serif); text-transform:none; letter-spacing:0; color:var(--muted); }
html[data-theme="press"][data-mode][data-style] .cal .day:not(.empty) { background:transparent; border:1px solid var(--line); border-radius:0; box-shadow:none !important; transform:none; position:relative; overflow:hidden; transition:transform .4s var(--press-ease),border-color .3s,background-color .3s; }
html[data-theme="press"][data-mode][data-style] .cal .day:not(.empty)::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--press-tint); opacity:.9; }
html[data-theme="press"][data-mode][data-style] .cal .day .num { font:500 24px var(--press-serif); }
html[data-theme="press"][data-mode][data-style] .cal .day.today { border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent) !important; }
html[data-theme="press"][data-mode][data-style] .cal .day.today .num { color:var(--accent); }
html[data-theme="press"][data-mode][data-style] .cal .day :is(.pill,.chip,.tag,span[class*="badge"]) { background:transparent !important; border:1px solid var(--line-hi) !important; border-radius:0 !important; color:var(--text) !important; font-family:var(--press-serif); }
html[data-theme="press"][data-mode][data-style] .cal .day.empty { background:transparent; box-shadow:none; border:0; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html[data-theme="press"][data-mode][data-style] .cal .day:not(.empty):hover { transform:translateX(5px); border-color:var(--line-hi); background:#d0d1d40c; }
}

/* ---------- theme picker card ---------- */
.theme-showcase[data-preset="press"] .theme-showcase-art { background:#201819; }
.theme-showcase[data-preset="press"] .theme-showcase-pane { border-radius:1px; background:#1f6a6c; color:#f3ecd8; border:0; box-shadow:0 -6px 0 #2a8c86,0 10px 18px -10px #000; }
.theme-showcase[data-preset="press"] .theme-showcase-pane.back { background:#d6cc8c; color:#2b2734; }
.theme-showcase[data-preset="press"] .theme-showcase-type { font-family:"Iowan Old Style",Georgia,serif; }

/* ---------- tablet & phone ---------- */
@media (max-width:980px) {
  html.sn-on[data-theme="press"][data-mode] :is(.station-layout,.station-layout:not(.has-right)) { grid-template-columns:minmax(0,1fr) !important; grid-template-rows:none; }
  html.sn-on[data-theme="press"] .station-layout > :is(.sn-press,.station-rail-right,.station-main) { grid-column:1; grid-row:auto; position:static; max-height:none; overflow:visible; margin:0; }
  html.sn-on[data-theme="press"] .station-layout > .sn-press { order:-3; padding:6px 0 0; }
  html.sn-on[data-theme="press"] .station-layout > .station-rail-right { order:-2; }
  .sn-press .press-head { margin-bottom:18px; }
  .sn-press .press-stack { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 14px; }
  .sn.sn-press button.press-spine { grid-template-columns:1fr 22px; min-height:46px; font-size:16px; }
  .sn-press .press-spine-by { display:none; }
  .sn-press .press-spine-title { text-align:left; }
  .sn.sn-press button.press-spine[aria-selected="true"] { transform:translateY(-5px); }
  .sn-press .press-books { margin-top:24px; }
  .sn-press .press-ruler { display:none; }
  html[data-theme="press"][data-mode][data-style] .station-grid { gap:48px !important; margin-top:20px; }
  html[data-theme="press"][data-mode][data-style] .station-grid > .station-card { grid-template-columns:minmax(0,1fr); padding:24px 22px !important; }
  html[data-theme="press"][data-mode][data-style] .station-card :is(.sc-prices, .sc-rows) { grid-column:1; grid-row:auto; justify-self:start; justify-content:flex-start; }
  html[data-theme="press"][data-mode][data-style] .station-card .sc-balance { grid-row:auto; grid-template-columns:repeat(2, minmax(0,1fr)); }
  html[data-theme="press"][data-mode][data-style] .station-card .sc-cash-box { padding-left:0; border-left:0; }
  html[data-theme="press"][data-mode][data-style] .station-card .sc-stat + .sc-stat { padding-left:22px; border-left:1px solid var(--rule); }
  html[data-theme="press"][data-mode][data-style] .station-card .sc-cash-box + .sc-cash-box { padding-left:22px; border-left:1px solid var(--rule); }
}
@media (max-width:600px) {
  html[data-theme="press"][data-mode][data-style] .station-grid > .station-card { grid-template-columns:minmax(0,1fr); }
  html[data-theme="press"][data-mode][data-style] .station-card :is(.sc-head,.sc-balance,.sc-prices,.sc-rows) { grid-column:1 !important; grid-row:auto !important; }
  html[data-theme="press"][data-mode][data-style] .station-card .sc-balance { grid-template-columns:minmax(0,1fr); }
  html[data-theme="press"][data-mode][data-style] .station-card :is(.sc-stat, .sc-cash-box) { padding:0 !important; border-left:0 !important; }
  html[data-theme="press"][data-mode][data-style] .station-card .sc-prices { justify-content:flex-start; }
  html[data-theme="press"][data-mode][data-style] .month-bar { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:8px; }
  html[data-theme="press"][data-mode][data-style] .month-bar .title { min-width:0; font-size:16px; text-align:center; white-space:nowrap; }
  html[data-theme="press"][data-mode][data-style] .month-bar select:first-of-type { grid-column:1 / 3; }
  html[data-theme="press"][data-mode][data-style] .cal { grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; padding:5px 3px 16px; }
  html[data-theme="press"][data-mode][data-style] .cal .day { min-width:0; min-height:82px; padding:5px 3px; overflow-wrap:anywhere; }
  html[data-theme="press"][data-mode][data-style] .cal .day .num { font-size:18px; }
  html[data-theme="press"][data-mode][data-style] .cal .dow { font-size:11px; }
  html[data-theme="press"][data-mode][data-style] .station-main { padding-inline:0; }
}
@media (prefers-reduced-motion:reduce) {
  html[data-theme="press"] *,html[data-theme="press"] *::before,html[data-theme="press"] *::after { animation:none !important; transition:none !important; }
}
