/* ==========================================================================
   shell.css — the Obsidian shell contract, CSS half.  v1
   Served from Railway at /shell/shell.css. Include next to shell.js:

     <link rel="stylesheet" href="https://d47-server-production.up.railway.app/shell/shell.css">

   Everything is keyed off html.in-shell (set by shell.js), so this file is
   inert in Safari. MECHANICS ONLY — no colors, no type, no per-site
   anything. Site aesthetics stay the site's problem.

   Conventions sites opt into:
     --obs-top          in-shell it's 0px (the shell's own controls already
                        occupy the top safe area). Use it in place of
                        env(safe-area-inset-top):
                          padding-top: calc(14px + var(--obs-top, env(safe-area-inset-top)));
                        Bottom insets stay env() — the home indicator still
                        overlaps the web view.
     [data-shell-hide]  hidden in-shell. Put it on site headers / nav the
                        shell chrome makes redundant.
     [data-selectable]  re-enables text selection (addresses, tickers, tx
                        ids) — everything else is selection-locked so
                        long-press doesn't sprout iOS handles.
   ========================================================================== */

html.in-shell {
  --obs-top: 0px;
}

/* Redundant chrome */
.in-shell [data-shell-hide] {
  display: none !important;
}

/* Kill the web tells: callout sheets on long-press, selection handles. */
.in-shell,
.in-shell body {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

/* But data a player would copy stays copyable, and inputs must work. */
.in-shell input,
.in-shell textarea,
.in-shell [contenteditable],
.in-shell [data-selectable] {
  -webkit-user-select: text;
  user-select: text;
}

/* Belt-and-suspenders alongside the JS viewport lock. */
.in-shell {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* No native-blue focus ring artifacts on tap-focus in the dark UI; sites
   should still style :focus-visible themselves for keyboard users. */
.in-shell a,
.in-shell button {
  -webkit-tap-highlight-color: transparent;
}