/* Space Stocks page — mirrors the Aurelia app's Space Stocks tab (dark tokens, mono data, square corners).
   Scoped to .ss-app / .ss-modal so nothing else on the site is touched. */
.ss-app,.ss-modal{--ss-bg:#0d0c0b;--ss-card:#141210;--ss-fg:#f2ebe3;--ss-muted:#9a9186;--ss-subtle:#6e675e;--ss-border:#2a2622;--ss-sun:#c9a27a;--ss-ok:#8aa386;--ss-bad:#c27864;--ss-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ss-display:"Fraunces",ui-serif,Georgia,"Times New Roman",serif;font-family:Outfit,ui-sans-serif,system-ui,sans-serif;color:var(--ss-fg);text-align:left;line-height:1.5;font-size:16px}
.ss-app *,.ss-modal *{box-sizing:border-box}
.ss-app :where(p,ul),.ss-modal :where(p,ul,h2,h3){margin:0;padding:0;max-width:none}
:where(.ss-app,.ss-modal) ul{list-style:none}
.ss-app :where(button,input),.ss-modal :where(button,input){font:inherit;color:inherit;margin:0;border-radius:0;-webkit-appearance:none;appearance:none}
.ss-app :where(button),.ss-modal :where(button){background:transparent;border:1px solid var(--ss-border);cursor:pointer;text-align:center;letter-spacing:normal;text-transform:none}
.ss-app :where(a),.ss-modal :where(a){color:var(--ss-sun)}
.ss-mono{font-family:var(--ss-mono)}
.ss-up{color:var(--ss-ok)}.ss-dn{color:var(--ss-bad)}.ss-sub{color:var(--ss-subtle)}.ss-mut{color:var(--ss-muted)}

.ss-app{max-width:32rem;margin:0 auto;padding:16px 20px 28px;display:flex;flex-direction:column;gap:16px}
.ss-app button:focus-visible,.ss-modal button:focus-visible,.ss-app input:focus-visible,.ss-modal input:focus-visible,.ss-modal a:focus-visible{outline:2px solid var(--ss-sun);outline-offset:2px}

/* tape marquee */
.ss-tape{overflow:hidden;border:1px solid var(--ss-border);border-radius:12px;background:rgba(28,25,22,.4)}
.ss-tape-in{display:flex;width:max-content;min-height:44px;align-items:center;gap:24px;padding:8px 16px;animation:ss-tape 42s linear infinite}
.ss-tape.paused .ss-tape-in{animation:none}
@keyframes ss-tape{0%{transform:translate(0)}to{transform:translate(-50%)}}
@media (prefers-reduced-motion:reduce){.ss-tape-in{animation:none}}
.ss-tape button{display:flex;align-items:center;gap:8px;white-space:nowrap;font:400 12px/1.4 var(--ss-mono);border:0;padding:0;min-height:28px}
.ss-tape .tk{color:var(--ss-fg)}

.ss-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.ss-clock{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--ss-sun)}
.ss-src{font-size:12px;color:#a9a196}
.ss-search{width:100%;min-height:44px;padding:0 12px;background:#151311;border:1px solid var(--ss-border);color:var(--ss-fg);font-size:14px}
.ss-search::placeholder{color:var(--ss-subtle)}
.ss-chips{display:flex;flex-wrap:wrap;gap:8px}
.ss-chip{min-height:44px;padding:0 12px;font:400 11px/1.2 var(--ss-mono);color:var(--ss-subtle)}
.ss-chip[aria-pressed=true]{border-color:var(--ss-sun);color:var(--ss-sun)}
.ss-note{text-align:center;font:400 12px/1.5 var(--ss-mono);color:var(--ss-muted)}
.ss-note.sm{font-size:12px}

/* cards */
.ss-list{display:flex;flex-direction:column;gap:8px}
.ss-card{border:1px solid var(--ss-border);background:var(--ss-card);padding:12px}
.ss-card.on{border-color:rgba(201,162,122,.5)}
.ss-card .top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ss-card .l{min-width:0}
.ss-card .sym{font:400 16px/1.6 var(--ss-mono);letter-spacing:.08em;color:var(--ss-fg)}
.ss-card .nm{font:400 12px/1.6 var(--ss-mono);color:#a9a196;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss-card .seg{display:inline-flex;margin-top:4px;border:1px solid var(--ss-border);padding:2px 6px;font:400 12px/1.6 var(--ss-mono);letter-spacing:.14em;text-transform:uppercase;color:#a9a196}
.ss-card .r{text-align:right}
.ss-card .px{font:400 22px/1 var(--ss-mono);font-variant-numeric:tabular-nums}
.ss-card .chg{margin-top:4px;font:400 12px/16px var(--ss-mono);font-variant-numeric:tabular-nums}
.ss-card .meta{margin-top:8px;font:400 12px/1.6 var(--ss-mono);font-variant-numeric:tabular-nums;color:#a9a196}
.ss-card .err{margin-top:4px;font:400 12px/1.6 var(--ss-mono);color:#a9a196}
.ss-mini{display:block;width:100%;margin-top:8px;padding:4px;background:var(--ss-bg);border:1px solid var(--ss-border)}
.ss-mini canvas{display:block;width:100%;height:96px}
.ss-mini .ph{display:flex;height:96px;align-items:center;justify-content:center;font:400 12px/1.6 var(--ss-mono);color:#a9a196}
.ss-acts{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.ss-act{min-height:44px;width:100%;padding:0 12px;text-align:left!important;font:500 11px/1.25 var(--ss-mono)!important;border:1px solid var(--ss-fg)!important;background:transparent;color:var(--ss-fg)}
.ss-act.solid{background:var(--ss-fg)!important;color:var(--ss-bg)!important}
.ss-paper{border:1px solid rgba(138,163,134,.4);background:rgba(138,163,134,.05);padding:12px}
.ss-paper .k{font:400 12px/1.4 var(--ss-mono);text-transform:uppercase;letter-spacing:.16em;color:#a9a196}
.ss-paper .d{margin-top:4px;font-size:12px;line-height:1.6;color:#a9a196}
.ss-paper .cash{margin-top:4px;font:400 12px/1.6 var(--ss-mono);font-variant-numeric:tabular-nums;color:#a9a196}
.ss-buy{min-height:48px;width:100%;margin-top:8px;border:2px solid var(--ss-ok)!important;background:rgba(138,163,134,.15)!important;color:var(--ss-ok)!important;font:700 12px/1.2 var(--ss-mono)!important;text-transform:uppercase!important;letter-spacing:.12em!important;padding:0 8px}
.ss-buy:disabled{opacity:.5;cursor:default}
.ss-paper label{display:block;margin-top:8px}
.ss-paper label span,.ss-lbl{font:400 10px/1.5 var(--ss-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ss-subtle)}
.ss-in{display:block;width:100%;min-height:44px;margin-top:4px;padding:4px 12px;background:rgba(28,25,22,.4);border:1px solid var(--ss-border);color:var(--ss-fg);font:400 14px var(--ss-mono)}
.ss-paper .line{margin-top:8px;font:400 12px/1.6 var(--ss-mono);color:#a9a196}
.ss-paper .msg{margin-top:8px;font-size:12px;color:var(--ss-fg)}
.ss-link{min-height:36px;width:100%;border:0!important;font:400 11px var(--ss-mono)!important;color:var(--ss-subtle)}
.ss-more{min-height:48px;width:100%;padding:0 12px;border:2px solid var(--ss-fg)!important;background:var(--ss-fg)!important;color:var(--ss-bg)!important;font:700 14px var(--ss-mono)!important;letter-spacing:.025em}
.ss-more:disabled{opacity:.5}
.ss-less{min-height:44px;width:100%;padding:0 12px;font:400 11px var(--ss-mono)!important;color:var(--ss-muted)}

/* paper portfolio fold */
.ss-fold>button.hd{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:var(--ss-card);text-align:left}
.ss-fold .t{font:400 10px/1.5 var(--ss-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--ss-sun)}
.ss-fold .s{font-size:12px;color:var(--ss-muted);margin-top:2px}
.ss-fold .h{font:500 22px/1.2 var(--ss-display);margin-top:2px}
.ss-fold .chev{font-size:18px;color:var(--ss-sun);transition:transform .15s}
.ss-fold.open .chev{transform:rotate(180deg)}
.ss-fold .bd{display:none;border:1px solid var(--ss-border);border-top:0;background:var(--ss-card);padding:12px;gap:12px;flex-direction:column}
.ss-fold.open .bd{display:flex}
.ss-fold .sum{font-size:13px;line-height:1.5;color:var(--ss-muted)}
.ss-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ss-stat{border:1px solid var(--ss-border);padding:8px 12px;background:var(--ss-card)}
.ss-stat .k{font:400 12px/1.6 var(--ss-mono);text-transform:uppercase;letter-spacing:.14em;color:#a9a196}
.ss-stat .v{margin-top:2px;font:400 14px/1.4 var(--ss-mono);font-variant-numeric:tabular-nums;color:var(--ss-fg)}
.ss-stat .sb{font:400 12px/1.6 var(--ss-mono);color:#a9a196}
.ss-hold{display:flex;flex-direction:column;gap:8px}
.ss-hold li{border:1px solid var(--ss-border);padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.ss-hold .a{font:400 12px/1.5 var(--ss-mono);min-width:0}
.ss-hold .a small{display:block;font-size:12px;color:#a9a196}
.ss-sell{min-height:36px;padding:0 12px;font:400 11px var(--ss-mono)!important;color:var(--ss-bad)!important;border-color:rgba(194,120,100,.5)!important}
.ss-lookup{display:flex;gap:8px}
.ss-lookup .ss-in{margin-top:0;text-transform:uppercase}
.ss-lookup button{min-height:44px;padding:0 12px;font:400 11px var(--ss-mono)!important;color:var(--ss-sun)!important;border-color:var(--ss-sun)!important}
.ss-foot{text-align:center;font-size:12px;color:#a9a196}

/* modals */
.ss-modal{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;background:var(--ss-bg)}
.ss-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ss-border);padding:max(12px,env(safe-area-inset-top)) 16px 12px}
.ss-modal>header>div{min-width:0}
.ss-modal .kick{font:400 10px/1.5 var(--ss-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--ss-sun)}
.ss-modal h2{margin-top:4px;font:400 16px/1.4 var(--ss-mono);color:var(--ss-fg);text-align:left}
.ss-modal .hp{font:400 18px/1.5 var(--ss-mono)}
.ss-close{min-height:36px;padding:0 12px;font:500 13px Outfit,sans-serif!important;color:var(--ss-fg);border:1px solid var(--ss-border)}
.ss-mbody{flex:1;min-height:0;overflow-y:auto;padding:12px 12px max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px}
.ss-mbody.pad{padding-left:16px;padding-right:16px;gap:16px}
.ss-ohlc{font:400 12px/1.6 var(--ss-mono);color:#a9a196}
.ss-btnrow{display:flex;flex-wrap:wrap;gap:4px}
.ss-btnrow button{min-height:36px;padding:0 10px;font:400 11px/1 var(--ss-mono);color:var(--ss-subtle)}
.ss-btnrow.up button{text-transform:uppercase}
.ss-btnrow button[aria-pressed=true]{border-color:var(--ss-sun);color:var(--ss-sun)}
.ss-btnrow button.fill[aria-pressed=true]{background:rgba(201,162,122,.15)}
.ss-hint{font:400 12px/1.6 var(--ss-mono);color:#a9a196}
.ss-chartwrap{min-height:70vh;min-height:70svh;flex:none}
.ss-chartwrap canvas{display:block;width:100%;height:70vh;height:70svh;background:var(--ss-bg);touch-action:pan-y}
.ss-chartwrap canvas.draw{touch-action:none}
.ss-chartwrap .skel{height:70vh;height:70svh;background:rgba(28,25,22,.4);animation:ss-pulse 2s cubic-bezier(.4,0,.6,1) infinite}
.ss-chartwrap .bad{border:1px solid var(--ss-border);padding:16px;font:400 14px/1.5 var(--ss-mono);color:var(--ss-muted)}
@keyframes ss-pulse{50%{opacity:.5}}
.ss-box{border:1px solid var(--ss-border);background:var(--ss-card);padding:12px}
.ss-box.sun{border-color:rgba(201,162,122,.5);border-width:2px}
.ss-box .k{font:400 12px/1.6 var(--ss-mono);text-transform:uppercase;letter-spacing:.16em;color:#a9a196}
.ss-box .k.s{color:var(--ss-sun)}
.ss-box .big{margin-top:4px;font:500 24px/1.2 var(--ss-display);letter-spacing:-.025em}
.ss-box .t{margin-top:4px;font-size:12px;line-height:1.625;color:var(--ss-muted)}
.ss-box .body{margin-top:8px;font-size:14px;line-height:1.375}
.ss-box li{margin-top:4px;font:400 12px/1.6 var(--ss-mono);color:#a9a196}
.ss-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ss-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ss-grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:8px;font:400 11px var(--ss-mono);font-variant-numeric:tabular-nums}
.ss-grid5 b{display:block;font-weight:400;color:var(--ss-subtle)}
.ss-grid5 .near{color:var(--ss-sun)}
.ss-box.sunb{border-color:rgba(201,162,122,.3)}
.ss-desks{margin-top:8px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ss-desks a{display:inline-flex;min-height:44px;align-items:center;border:1px solid var(--ss-border);padding:0 8px;font:400 11px var(--ss-mono);color:var(--ss-fg);text-decoration:none}
.ss-desks a:hover{border-color:var(--ss-sun);color:var(--ss-sun)}
.ss-loading{border:1px solid var(--ss-border);padding:12px;font:400 12px/1.6 var(--ss-mono);color:#a9a196}
/* news / insiders / dive */
.ss-lead{font-size:16px;line-height:1.5;color:var(--ss-muted)}
.ss-news li{border-top:1px solid var(--ss-border);padding:16px 0}
.ss-news .src{font:400 10px/1.5 var(--ss-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ss-sun)}
.ss-news .src span{color:var(--ss-muted);text-transform:none;letter-spacing:0;margin-left:6px}
.ss-news h3{margin:6px 0 0!important;font:500 18px/1.3 Outfit,sans-serif;text-align:left;letter-spacing:0;max-width:none}
.ss-news .open{display:inline-block;margin-top:8px;font:400 11px var(--ss-mono)}
.ss-sechd{font:400 12px/1.6 var(--ss-mono);text-transform:uppercase;letter-spacing:.16em;color:#a9a196}
.ss-linkbtn{display:flex;min-height:44px;align-items:center;border:1px solid var(--ss-border);padding:0 12px;font:400 12px var(--ss-mono);color:var(--ss-sun);text-decoration:none;margin-top:8px}
.ss-linkbtn:hover{border-color:var(--ss-sun)}
.ss-dive .ep{font:500 24px/1.35 var(--ss-display);letter-spacing:-.025em}
.ss-dive section{margin-top:8px}
.ss-dive h3{margin:0 0 8px!important;font:400 12px/1.6 var(--ss-mono);text-transform:uppercase;letter-spacing:.16em;color:#a9a196;text-align:left;max-width:none}
.ss-dive section p{font-size:16px;line-height:1.6;color:#d9d0c3;margin-top:12px}
.ss-dive section p:first-of-type{margin-top:0}
.ss-dive ul.pl{display:flex;flex-direction:column;gap:8px}
.ss-dive ul.pl li{font-size:14px;line-height:1.6;color:#d9d0c3}
.ss-dive .proj{display:flex;flex-direction:column;gap:12px}
.ss-dive .proj .ss-box .nm{font:400 11px/1.5 var(--ss-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ss-sun)}
.ss-dive .proj .ss-box .hz{margin-top:4px;font:400 12px/1.6 var(--ss-mono);color:#a9a196}
.ss-dive .proj .ss-box .why{margin-top:8px;font-size:14px;line-height:1.6;color:var(--ss-muted)}
.ss-case{display:grid;gap:12px;margin-top:24px}
.ss-case>div{padding:12px;border:1px solid}
.ss-case .for{border-color:rgba(138,163,134,.4);background:rgba(138,163,134,.05)}
.ss-case .against{border-color:rgba(194,120,100,.4);background:rgba(194,120,100,.05)}
.ss-case h4{margin:0!important;font:400 10px/1.5 var(--ss-mono);text-transform:uppercase;letter-spacing:.16em;text-align:left;max-width:none}
.ss-case .for h4{color:var(--ss-ok)}.ss-case .against h4{color:var(--ss-bad)}
.ss-case p{margin-top:8px!important;font-size:14px;line-height:1.6;color:var(--ss-fg)}
@media (min-width:560px){.ss-case{grid-template-columns:1fr 1fr}}
.ss-desks-s{display:flex;flex-direction:column;gap:8px}
.ss-disc{margin-top:12px;font:400 12px/1.6 var(--ss-mono);color:#a9a196}

/* paper book (mirrors the app's bordered "Paper portfolio" section) */
.ss-book{margin-top:24px;border:2px solid rgba(201,162,122,.5);background:var(--ss-bg)}
.ss-book .band{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(201,162,122,.4);padding:8px 16px}
.ss-book .band p{font:400 10px/1.5 var(--ss-mono);text-transform:uppercase}
.ss-book .band .a{font-weight:700;letter-spacing:.22em;color:var(--ss-sun)}
.ss-book .band .b{letter-spacing:.14em;color:#a9a196;text-align:right}
.ss-book .in{padding:16px}
.ss-book .tg{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0!important;background:transparent!important;font:500 28px/1.2 var(--ss-display)!important;letter-spacing:-.025em!important;color:var(--ss-fg)!important}
.ss-book .tg i{font-style:normal;font-size:14px;color:var(--ss-sun);transition:transform .15s}
.ss-book.open .tg i{transform:rotate(180deg)}
.ss-book .bd{display:none;flex-direction:column;gap:20px;margin-top:16px}
.ss-book.open .bd{display:flex}
.ss-book .sum{margin-top:8px;font-size:14px;line-height:1.6;color:var(--ss-fg)}
.ss-book .fine{margin-top:8px;font-size:12px;line-height:1.6;color:var(--ss-muted)}
.ss-gridpx{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--ss-border);background:var(--ss-border)}
.ss-gridpx>div{background:var(--ss-bg);padding:8px 12px}
.ss-gridpx .k{font:400 12px/1.6 var(--ss-mono);text-transform:uppercase;letter-spacing:.12em;color:#a9a196}
.ss-gridpx .v{margin-top:2px;font:400 14px/1.4 var(--ss-mono);font-variant-numeric:tabular-nums}
.ss-gridpx .s{font:400 12px/1.6 var(--ss-mono)}
.ss-tkt{border:2px solid rgba(201,162,122,.4);background:var(--ss-card);padding:12px}
.ss-tkt .k{font:700 10px/1.5 var(--ss-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--ss-sun)}
.ss-tkt .d{margin-top:4px;font-size:14px;color:var(--ss-muted)}
.ss-tkt .lk{display:flex;gap:8px;margin-top:12px}
.ss-tkt .lk .ss-in{margin-top:0;text-transform:uppercase}
.ss-tkt .lk button{min-height:44px;flex:none;padding:0 12px;border:1px solid var(--ss-fg)!important;background:var(--ss-fg)!important;color:var(--ss-bg)!important;font:400 11px var(--ss-mono)!important}
.ss-tkt .tk{margin-top:12px;font:400 12px/1.6 var(--ss-mono);color:#a9a196}
.ss-tkt label{display:block;margin-top:12px}
.ss-tkt label span{font:400 12px/1.6 var(--ss-mono);text-transform:uppercase;letter-spacing:.12em;color:#a9a196}
.ss-hold h4{margin:0 0 8px!important;font:400 12px/1.6 var(--ss-mono);text-transform:uppercase;letter-spacing:.16em;color:#a9a196;text-align:left;max-width:none}
.ss-hold .px{font:400 12px var(--ss-mono);text-align:right}
.ss-hold .px small{display:block;font-size:12px}
.ss-resetrow{display:flex;gap:8px}
.ss-resetrow button{min-height:36px;padding:0 12px;font:400 11px var(--ss-mono)!important;color:var(--ss-muted)!important}

.ss-news h3.ss-sechd,.ss-modal h3.ss-sechd{font:400 12px/1.6 var(--ss-mono)!important;text-transform:uppercase;letter-spacing:.16em;color:#a9a196}

/* ===== preview25 additions: partial sells, insider cards, Street list, in-page dock, gear, intro fold, backdrop, settings ===== */
.ss-hold li{flex-wrap:wrap}
.ss-sellmsg{margin:0 0 8px!important;border:1px solid rgba(138,163,134,.45);background:rgba(138,163,134,.1);padding:8px 12px;font:400 12px/1.6 var(--ss-mono);color:var(--ss-fg)}
.ss-sellrow{flex:1 1 100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;border-top:1px solid var(--ss-border);padding-top:8px;margin-top:2px}
.ss-sellrow label{display:block;min-width:0}
.ss-sellrow label span{font:400 10px/1.5 var(--ss-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ss-subtle)}
.ss-sellrow .ss-in{margin-top:2px}
.ss-sellrow .pre{display:flex;gap:4px}
.ss-sellrow .pre button{min-height:44px;min-width:44px;padding:0 8px;font:400 11px var(--ss-mono);color:var(--ss-muted)}
.ss-sellrow .go{grid-column:1/-1;min-height:44px;font-weight:700!important}
.ss-sellrow .go:disabled{opacity:.45;cursor:not-allowed}
.ss-sellrow .est{grid-column:1/-1;font:400 12px/1.5 var(--ss-mono);color:#a9a196}
/* Street + grades */
.ss-grades{display:flex;flex-direction:column;gap:0;margin-top:8px}
.ss-grades li{border-top:1px solid var(--ss-border);padding:6px 0;font:400 12px/1.5 var(--ss-mono);color:#a9a196;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.ss-grades li b{font-weight:400;color:var(--ss-fg)}
.ss-grades li span{min-width:0;overflow-wrap:anywhere}
/* insider cards */
.ss-inslist{display:flex;flex-direction:column;gap:8px}
.ss-ins{content-visibility:auto;contain-intrinsic-size:auto 190px;border:1px solid var(--ss-border);background:var(--ss-card);padding:12px;display:flex;flex-direction:column;gap:6px;min-width:0}
.ss-ins .top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.ss-ins .who{font:500 14px/1.4 var(--ss-mono);color:var(--ss-fg);min-width:0;overflow-wrap:anywhere}
.ss-ins .who small{display:block;font:400 11px/1.5 var(--ss-mono);color:#a9a196}
.ss-ins .word{flex:none;border:1px solid var(--ss-border);padding:2px 8px;font:700 11px/1.6 var(--ss-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ss-sun)}
.ss-ins .word.buy{color:var(--ss-ok);border-color:rgba(138,163,134,.55)}
.ss-ins .word.sell{color:var(--ss-bad);border-color:rgba(194,120,100,.55)}
.ss-ins .hint{font-size:12px;line-height:1.55;color:var(--ss-muted)}
.ss-ins .g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--ss-border);border:1px solid var(--ss-border)}
.ss-ins .g3>div{background:var(--ss-bg);padding:6px 8px;min-width:0}
.ss-ins .g3 .k{font:400 10px/1.5 var(--ss-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ss-subtle)}
.ss-ins .g3 .v{font:400 13px/1.4 var(--ss-mono);font-variant-numeric:tabular-nums;color:var(--ss-fg);overflow-wrap:anywhere}
.ss-ins .since{font:400 12px/1.5 var(--ss-mono)}
.ss-ins .since.up{color:var(--ss-ok)}.ss-ins .since.dn{color:var(--ss-bad)}.ss-ins .since.na{color:#a9a196}
.ss-ins .open{display:inline-flex;align-items:center;min-height:36px;font:400 11px var(--ss-mono);color:var(--ss-sun);text-decoration:none}
.ss-inslinks{display:flex;flex-wrap:wrap;gap:8px}
.ss-inslinks .ss-linkbtn{margin-top:0;flex:1 1 9rem;justify-content:center}
/* page chrome (outside .ss-app, so literal colours) */
.ss-head{position:relative}
.ss-chev,.ss-gear{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #2a2622;border-radius:999px;background:rgba(21,19,17,.7);color:#c9a27a;cursor:pointer;padding:0;-webkit-appearance:none;appearance:none}
.ss-chev svg{transition:transform .15s}.ss-chev.shut svg{transform:rotate(180deg)}
.ss-ctl{position:absolute;top:8px;right:12px;display:flex;gap:8px}
.ss-chev:focus-visible,.ss-gear:focus-visible,.ss-dock a:focus-visible,.ss-dock button:focus-visible{outline:2px solid #c9a27a;outline-offset:2px}
.ss-intro[hidden]{display:none}
.ss-intro2{margin-top:.6em}
.ss-app{padding-bottom:96px}
.ss-tape,.ss-list,.ss-book{scroll-margin-top:96px}
.ss-dock{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:90;display:flex;width:min(30rem,calc(100% - 20px));border:1px solid #2a2622;border-radius:16px;background:rgba(13,12,11,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 30px rgba(0,0,0,.5);transition:opacity .18s,transform .18s}
.ss-dock.off{opacity:0;pointer-events:none;transform:translate(-50%,16px)}
.ss-dock a,.ss-dock button{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;padding:6px 2px;border:0;background:transparent;color:#9a9186;text-decoration:none;font:500 10px/1.2 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:14px}
.ss-dock a.on{color:#c9a27a}
.ss-dock span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* photo backdrop, as in the app: fixed and persistent while scrolling */
.ss-backdrop{position:fixed;inset:0;z-index:-1;opacity:0;pointer-events:none;background:linear-gradient(to bottom,rgba(13,12,11,.55),rgba(13,12,11,.8) 60%,#0d0c0b),url(../img/app/sky-bg.webp) center top/cover no-repeat;transition:opacity .25s}
body.ss-bd{background-image:none}
body.ss-bd .ss-backdrop{opacity:1}
/* settings panel */
.ss-set{display:flex;flex-direction:column;gap:8px}
.ss-set h3{font:400 12px/1.6 var(--ss-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--ss-sun);text-align:left}
@media (prefers-reduced-motion:reduce){.ss-dock,.ss-backdrop,.ss-chev svg{transition:none}}
@media (max-width:560px){.ss-head{padding-top:52px}.ss-ctl{top:6px}}
