/* Skin: Departure board — split-flap airport/trading-floor look. Always dark. */
:root {
  --bg: #07090b;
  --panel: #0d1014;
  --line: #1d232a;
  --flap-top: #1a1f25;
  --flap-bot: #13171c;
  --ink: #eceae4;
  --ink-2: #a6adb6;
  --ink-3: #6c747e;
  --amber: #ffbf3c;
  --amber-dim: #7a5a17;
  --live: #3ee08f;
  --t-ma: #ffbf3c;
  --t-pe: #62d0ff;
  --t-credit: #ff7eb6;
  --t-infra: #7ee07a;
  --t-deal: #eceae4;
  --t-news: #6c747e;
  --mono: "JetBrains Mono", ui-monospace, Consolas, monospace;
  --sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme: dark;
}
body { background: var(--bg); color: var(--ink); font: 14px/1.5 var(--sans); }

/* header */
.top { background: #000; border-bottom: 1px solid var(--line); }
.brand-name { font: 700 22px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--amber); }
.brand-sub { font: 500 11px/1 var(--mono); letter-spacing: .12em; color: var(--ink-3); }
.clock {
  font: 700 18px/1 var(--mono); color: var(--amber); letter-spacing: .06em; padding: 6px 8px;
  background: linear-gradient(to bottom, var(--flap-top) 0 49%, #000 49% 51%, var(--flap-bot) 51%); border-radius: 3px;
}
.icon-btn { color: var(--ink-2); font-size: 17px; border-radius: 4px; }
.icon-btn:hover { background: var(--flap-top); color: var(--amber); }
#q {
  padding: 9px 12px; border: 1px solid var(--line); border-radius: 3px; background: var(--panel); color: var(--ink);
  font: 14px var(--mono);
}
#q::placeholder { color: var(--ink-3); }
#q:focus { outline: 1px solid var(--amber); }
.chip {
  border: 1px solid var(--line); background: var(--panel); color: var(--ink-2);
  padding: 5px 11px; border-radius: 3px; font: 600 12px/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase;
}
.chip:hover { color: var(--ink); border-color: var(--ink-3); }
.chip[aria-pressed="true"] { background: var(--amber); color: #000; border-color: var(--amber); }
.chip.ghost { background: transparent; }
.filter-label { font: 600 10px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); }
.sep { background: var(--line); }
select {
  font: 600 12px var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-2);
  background: var(--panel); border: 1px solid var(--line); padding: 6px 26px 6px 11px; border-radius: 3px;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 14px) 55%, calc(100% - 9px) 55%; background-size: 5px 5px; background-repeat: no-repeat;
}
select.active { background-color: var(--amber); color: #000; border-color: var(--amber); }

/* panels */
.panel { background: var(--panel); border: 1px solid var(--line); border-radius: 4px; padding: 0 0 6px; }
.panel-head { padding: 12px 14px 10px; border-bottom: 1px solid var(--line); background: #000; border-radius: 4px 4px 0 0; }
.panel-head h2 { font: 700 13px/1.2 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--amber); }
.panel-meta { font: 500 11px/1.4 var(--mono); color: var(--ink-3); text-transform: uppercase; letter-spacing: .05em; }
.panel-meta.pad { padding: 8px 14px 0; margin: 0; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--live); animation: blink 1.6s steps(2, start) infinite; }
@keyframes blink { to { visibility: hidden; } }

/* board rows */
.board-cols { padding: 8px 14px 6px; font: 600 10px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); border-bottom: 1px solid var(--line); }
.row { padding: 9px 14px; border-bottom: 1px solid var(--line); }
.row:last-child { border-bottom: 0; }
.row:hover { background: #10141a; }
.c-time, .c-reg, .c-type {
  font: 700 12px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; text-align: center;
  padding: 6px 4px; border-radius: 2px; white-space: nowrap;
  background: linear-gradient(to bottom, var(--flap-top) 0 49%, #000 49% 51%, var(--flap-bot) 51%);
}
.c-time { color: var(--amber); }
.c-reg { color: var(--ink); }
.c-type.t-ma { color: var(--t-ma); } .c-type.t-pe { color: var(--t-pe); } .c-type.t-credit { color: var(--t-credit); }
.c-type.t-infra { color: var(--t-infra); } .c-type.t-deal { color: var(--t-deal); } .c-type.t-news { color: var(--t-news); }
.c-title { font: 600 15px/1.35 var(--sans); color: var(--ink); }
.row.compact .c-title { font: 600 13px/1.4 var(--mono); text-transform: uppercase; letter-spacing: .02em; }
.row.read .c-title { color: var(--ink-3); }
.c-snip { color: var(--ink-2); font-size: 13px; }
.c-meta { font: 500 10.5px/1.4 var(--mono); color: var(--ink-3); text-transform: uppercase; letter-spacing: .04em; }
.c-meta .src { color: var(--ink-2); }
.c-meta .sponsor { color: var(--amber); }
.c-meta .why { color: var(--amber); }
.act { color: var(--ink-3); border-radius: 3px; font-size: 15px; }
.act:hover { background: var(--flap-top); color: var(--ink); }
.act.on { color: var(--amber); }
mark { background: var(--amber); color: #000; padding: 0 1px; }
.more { background: transparent; border: 1px solid var(--line); color: var(--ink-2); padding: 7px 18px; border-radius: 3px; font: 600 11px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.more:hover { border-color: var(--amber); color: var(--amber); }
.empty { color: var(--ink-3); font: 12px var(--mono); padding: 20px 14px; text-transform: uppercase; }

/* new deals flip in like a split-flap display */
.row.fresh .c-time, .row.fresh .c-reg, .row.fresh .c-type, .row.fresh .c-title { animation: flap .5s cubic-bezier(.3,.7,.4,1) both; transform-origin: 50% 50%; }
.row.fresh .c-reg { animation-delay: .08s; } .row.fresh .c-type { animation-delay: .16s; } .row.fresh .c-title { animation-delay: .24s; }
.row.fresh { box-shadow: inset 3px 0 0 var(--live); }
@keyframes flap { 0% { transform: rotateX(90deg); opacity: .2; } 60% { transform: rotateX(-12deg); opacity: 1; } 100% { transform: none; } }
@media (prefers-reduced-motion: reduce) { .row.fresh * { animation: none !important; } .live-dot { animation: none; } }

/* digest */
.p-digest .panel-head { border-top: 3px solid var(--amber); }
.digest-list li { padding: 14px 14px; border-bottom: 1px solid var(--line); }
.digest-list li:last-child { border-bottom: 0; }
.d-num { font: 700 22px/1 var(--mono); color: var(--amber); }
.digest-list h3 { font: 650 16px/1.35 var(--sans); }
.digest-list h3 a { text-decoration: none; }
.digest-list h3 a:hover { text-decoration: underline; }
.d-sum { color: var(--ink-2); font-size: 13.5px; }
.d-why { font-size: 13.5px; color: var(--ink); }
.d-why b { font: 700 10px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--amber); margin-right: 4px; }
.d-links { font: 500 10.5px/1.5 var(--mono); color: var(--ink-3); text-transform: uppercase; letter-spacing: .04em; }
.d-links a { color: var(--ink-3); }
.d-links a:hover { color: var(--amber); }

/* mobile tabs */
.tabbar { background: #000; border-top: 1px solid var(--line); }
.tab { background: none; color: var(--ink-3); font: 700 11px var(--mono); letter-spacing: .12em; text-transform: uppercase; border-radius: 3px; }
.tab.active { color: #000; background: var(--amber); }

/* settings */
dialog { background: var(--panel); color: var(--ink); border: 1px solid var(--line); border-radius: 6px; }
dialog::backdrop { background: rgba(0,0,0,.6); }
.settings h2 { font: 700 14px var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--amber); }
.field span { font: 600 12px var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--ink-2); }
.profile { font: 500 12px/1.7 var(--mono); color: var(--ink-2); }
.profile .bar { background: var(--amber); }

@media (max-width: 999px) {
  .brand-name { font-size: 18px; letter-spacing: .1em; }
  .clock { font-size: 12px; padding: 4px 5px; }
  .c-time, .c-reg, .c-type { font-size: 11px; padding: 5px 7px; }
  .row { padding: 10px 12px; }
}

/* editions, archive, sign-up */
.edition-bar { padding: 10px 14px; border-bottom: 1px solid var(--line); background: #06080a; }
.ed-day { font: 700 10.5px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); margin-right: 4px; }
.ed-tab { font: 700 12px/1 var(--mono); letter-spacing: .06em; color: var(--ink-2); border: 1px solid var(--line); border-radius: 2px;
  background: linear-gradient(to bottom, var(--flap-top) 0 49%, #000 49% 51%, var(--flap-bot) 51%); padding: 6px 9px; }
.ed-tab[aria-selected="true"] { color: #000; background: var(--amber); border-color: var(--amber); }
.link-btn { font: 600 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.link-btn:hover { color: var(--amber); }
.d-badge { font: 700 10px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: #000; background: var(--live); padding: 3px 6px; border-radius: 2px; }
.d-share, .d-prev { font: 500 10.5px/1.5 var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--ink-3); }
.d-share:hover, .d-prev:hover { color: var(--amber); }
.digest-list li.pinned { background: rgba(255,191,60,.07); box-shadow: inset 3px 0 0 var(--amber); }
.arch-day { padding: 14px 14px 6px; border-bottom: 1px solid var(--line); }
.arch-day h3 { font: 700 11px/1.4 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--amber); margin-bottom: 6px; }
.arch-ed { padding: 8px 0; border-top: 1px dashed var(--line); color: var(--ink); }
.arch-ed:hover .arch-heads { color: var(--amber); }
.arch-time { font: 700 12px/1 var(--mono); color: var(--amber); text-align: center; padding: 6px 4px; border-radius: 2px;
  background: linear-gradient(to bottom, var(--flap-top) 0 49%, #000 49% 51%, var(--flap-bot) 51%); }
.arch-heads { font: 500 13.5px/1.45 var(--sans); }
.arch-n { font: 500 10.5px/1 var(--mono); color: var(--ink-3); text-transform: uppercase; }
.sub-copy { color: var(--ink-2); font-size: 13.5px; }
.sub-fine { color: var(--ink-3); font: 500 11px/1.5 var(--mono); }
.sub-status { color: var(--live); font: 500 12.5px/1.5 var(--mono); }
#sub-email { padding: 10px 12px; border: 1px solid var(--line); border-radius: 3px; background: #000; color: var(--ink); font: 14px var(--mono); }
#sub-email:focus { outline: 1px solid var(--amber); }

/* Japan filings */
.p-filings .panel-head { border-top: 3px solid var(--t-pe); }
.filing-card { background: var(--panel); border: 1px solid var(--line); border-radius: 3px; padding: 12px 13px; }
.filing-card:hover { border-color: var(--ink-3); }
.fc-kind { font: 700 9.5px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--t-pe); }
.fc-kind.k-tob, .fc-kind.k-tob_result { color: var(--amber); }
.fc-sponsor { font: 700 9.5px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--t-credit); }
.fc-date { margin-left: auto; font: 500 9.5px/1 var(--mono); color: var(--ink-3); }
.fc-target { font: 650 14px/1.3 var(--sans); color: var(--ink); text-decoration: none; }
.fc-target:hover { text-decoration: underline; }
.fc-ticker { font: 500 11px var(--mono); color: var(--ink-3); }
.fc-line { margin: 0; font: 500 11.5px/1.4 var(--sans); color: var(--ink-2); }
.fc-lbl { font: 600 9.5px/1.7 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); flex: none; }
.fc-type, .fc-n { font: 500 10px/1 var(--mono); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); }
.fc-terms dt { font: 600 9.5px/1.6 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.fc-terms dd { font: 500 11.5px/1.5 var(--mono); color: var(--ink); }

/* Contact */
.panel.p-contact { background: none; border: 0; border-top: 1px dashed var(--ink-3); border-radius: 0; margin-top: 22px; padding: 16px 0 0; }
.p-contact .panel-head { background: none; border: 0; border-radius: 0; padding: 0 0 8px; }
.p-contact .panel-head h2 { font-size: 11px; letter-spacing: .14em; color: var(--ink-3); }
.contact-form textarea, .contact-form input[type=email], .co-form input {
  background: transparent; border: 1px solid var(--line); color: var(--ink-2);
  padding: 7px 10px; border-radius: 3px; font: 12px var(--mono);
}
.p-contact .chip { background: transparent; color: var(--ink-3); font-size: 11px; }
.contact-form textarea::placeholder, .contact-form input::placeholder, .co-form input::placeholder { color: var(--ink-3); }
.contact-form textarea:focus, .contact-form input:focus, .co-form input:focus { outline: 1px solid var(--amber); }
.contact-status { font: 500 11px/1.5 var(--mono); letter-spacing: .04em; text-transform: uppercase; color: var(--amber); }

/* page tabs in the header */
.vtab { font: 700 12.5px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
