/* Here settings on the shared sheet (design foundation F3b, explorer/531),
   carried on the instrument host (F5b): where it stands is the host's —
   docked at the side at a desk, one sheet at the foot above the dock on a
   phone (here.css, `.here-host`) — and so is its Escape. This file says
   nothing about where the window stands. The sheet is drawn inline (its own
   phone dock would place it a second time inside the host), so its frame is
   given here, in the Here's tokens, with its body scrolling inside it. */
.here .my-here-settings {
  box-sizing: border-box; display: flex; flex-direction: column; max-height: 100%; overflow: hidden;
  padding: var(--space-4) var(--space-6);
  border: 1px solid oklch(0.45 0.02 120 / 0.7); border-radius: var(--r-sheet);
  background: oklch(0.14 0.01 120 / 0.95); box-shadow: 0 20px 50px oklch(0 0 0 / 0.45);
  color: var(--sc-soft); text-align: left;
}
.here .my-here-settings[hidden] { display: none; }
.here .here-host[data-dock="side"] > .my-here-settings { align-self: flex-end; width: min(20rem, 100%); }
.here .here-host[data-dock="sheet"] > .my-here-settings { padding: var(--space-4); }
.here .my-here-settings.ui-sheet--inline > .ui-sheet-head { flex: none; margin: calc(-1 * var(--space-2)) calc(-1 * var(--space-3)) var(--space-2) 0; }
.here .my-here-settings.ui-sheet--inline > .ui-sheet-body { display: grid; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.here .my-here-settings .ui-sheet-body { gap: var(--space-2); font-size: var(--text-small); }
.here .my-here-settings p { margin: 0; }
.here .my-here-settings-quiet { color: var(--sc-mute); font-size: var(--text-small); }
.here .my-here-settings-quiet.block, .here .my-here-settings .block { display: block; }
.here .my-here-name-controls { display: flex; align-items: center; gap: var(--space-2); }
.here .my-here-name-controls input { box-sizing: border-box; flex: 1; min-width: 0; }
.here .my-here-settings-rule { margin-top: var(--space-2); padding-top: var(--space-3); border-top: 1px solid oklch(0.45 0.02 120 / 0.4); }
.here .my-here-settings .ui-check { align-items: flex-start; }
/* Letting an agent look around (agent walks, slice C). */
.here .my-here-walks-panel { display: grid; gap: var(--space-2); }
.here .my-here-walks-panel input { box-sizing: border-box; width: 100%; min-width: 0; }
.here .my-here-walks-listed[hidden], .here .my-here-walks-panel [hidden] { display: none; }
.here .my-here-walks { list-style: none; margin: var(--space-1) 0 0; padding: 0; display: grid; gap: var(--space-1); }
.here .my-here-walk { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); }
.here .my-here-walk-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--sc-soft); }
/* The email for a way in (email plan row 2, the window half). Mobile-first:
   at 375×667 the field takes the full width and the presses wrap beneath it,
   each at the shared press's own touch height — one primitive for finger and
   mouse alike. */
.here .my-here-way-in { display: grid; gap: var(--space-2); }
.here .my-here-way-in [hidden] { display: none; }
.here .my-here-way-in-address { color: var(--sc-soft); overflow-wrap: anywhere; }
.here .my-here-way-in-controls { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.here .my-here-way-in-edit, .here .my-here-way-in-beat { display: grid; gap: var(--space-2); }
.here .my-here-way-in-edit input { box-sizing: border-box; width: 100%; min-width: 0; min-height: var(--control-h); font-size: max(16px, var(--text-body)); }
.here .my-here-way-in-words { margin: 0; padding-left: var(--space-4); display: grid; gap: var(--space-1); color: var(--sc-soft); }
/* The abundint lens's theme — over @loh/spatial's dusk canvas. Tokens only
   come from the publication (--ab-ground / --ab-ink / --ab-accent); nothing
   here is data. Fonts fall back to the canvas's own stack: a public site
   self-hosts them before launch (no third-party font requests). */

.abundint-lens {
  position: relative;
  width: 100%;
  height: 100%;
  background: var(--ab-ground, oklch(0.13 0.008 110));
}
.abundint-lens .spatial {
  --spatial-height: 100%;
  --spatial-radius: 0;
  height: 100%;
}
.abundint-lens .spatial--dusk,
.abundint-lens .spatial:not(.spatial--paper) {
  --sc-ink: var(--ab-ink, oklch(0.93 0.015 90));
  --sc-accent: var(--ab-accent, oklch(0.8 0.05 140));
}

/* A place's colour tints its far word and its kicker, as the prototype's
   category colours did. */
.abundint-lens .place[style*="--place-color"] .place-kicker { color: var(--place-color); }

/* The picture's side and shape (design study §8 — the engine draws a lone
   picture with no side; the lens reads the post's classes). */
.abundint-lens .place.image-left .md-figure,
.abundint-lens .place.image-right .md-figure { max-width: 42%; margin: 0.4em 0 1em; }
.abundint-lens .place.image-left .md-figure { float: left; margin-right: 1.4em; }
.abundint-lens .place.image-right .md-figure { float: right; margin-left: 1.4em; }
.abundint-lens .place.image-portrait .md-figure img { aspect-ratio: 3 / 4; object-fit: cover; }
.abundint-lens .md-figure img { width: 100%; height: auto; display: block; border-radius: 2px; }

/* R10 — one quiet line at the foot, no badge. */
.abundint-foot {
  position: absolute;
  left: 0; right: 0; bottom: 0.9rem;
  pointer-events: none;
  text-align: center;
}
.abundint-provenance {
  margin: 0;
  font: 400 0.72rem/1 var(--sc-mono, "DM Mono", ui-monospace, monospace);
  letter-spacing: 0.08em;
  color: color-mix(in oklch, var(--ab-ink, oklch(0.93 0.015 90)) 45%, transparent);
}

/* A draft says so, quietly, where the provenance line would be. */
.abundint-lens[data-mode="draft"] .abundint-provenance::after {
  content: " · draft — not what the world sees";
  color: oklch(0.78 0.08 70);
}

/* The way back to the plain page (hydrated public pages only). */
.abundint-as-page {
  position: absolute; right: 1rem; top: 0.9rem; z-index: 5;
  font: 400 0.72rem/1 var(--sc-mono, ui-monospace, monospace);
  letter-spacing: 0.06em;
  color: color-mix(in oklch, var(--ab-ink, oklch(0.93 0.015 90)) 55%, transparent);
  background: none; border: 0; padding: 0.4em; cursor: pointer;
}
.abundint-as-page:hover, .abundint-as-page:focus-visible { color: var(--ab-ink, oklch(0.93 0.015 90)); }

/* On a narrow screen the canvas's foot row (where you are · how far through)
   takes the whole width, so the provenance line stands just above it and the
   passing hint rises above both. */
@media (max-width: 560px) {
  .abundint-foot { bottom: 3rem; }
  .abundint-lens .spatial-hint { bottom: 4.9rem; }
}
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-400: oklch(70.4% .191 22.216);
    --color-amber-200: oklch(92.4% .12 95.746);
    --color-amber-300: oklch(87.9% .169 91.605);
    --color-amber-400: oklch(82.8% .189 84.429);
    --color-emerald-400: oklch(76.5% .177 163.223);
    --color-emerald-500: oklch(69.6% .17 162.48);
    --color-sky-300: oklch(82.8% .111 230.318);
    --color-neutral-50: oklch(98.5% 0 0);
    --color-neutral-100: oklch(97% 0 0);
    --color-neutral-200: oklch(92.2% 0 0);
    --color-neutral-300: oklch(87% 0 0);
    --color-neutral-400: oklch(70.8% 0 0);
    --color-neutral-500: oklch(55.6% 0 0);
    --color-neutral-600: oklch(43.9% 0 0);
    --color-neutral-700: oklch(37.1% 0 0);
    --color-neutral-800: oklch(26.9% 0 0);
    --color-neutral-900: oklch(20.5% 0 0);
    --color-neutral-950: oklch(14.5% 0 0);
    --spacing: .25rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --font-weight-medium: 500;
    --tracking-wide: .025em;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-lg: .5rem;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .pointer-events-auto {
    pointer-events: auto;
  }

  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .top-16 {
    top: calc(var(--spacing) * 16);
  }

  .bottom-4 {
    bottom: calc(var(--spacing) * 4);
  }

  .left-1\/2 {
    left: 50%;
  }

  .left-4 {
    left: calc(var(--spacing) * 4);
  }

  .z-10 {
    z-index: 10;
  }

  .z-20 {
    z-index: 20;
  }

  .z-\[1000\] {
    z-index: 1000;
  }

  .row-3 {
    grid-row: 3;
  }

  .row-73 {
    grid-row: 73;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .mx-1 {
    margin-inline: calc(var(--spacing) * 1);
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }

  .mr-1 {
    margin-right: calc(var(--spacing) * 1);
  }

  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

  .ml-auto {
    margin-left: auto;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-flex {
    display: inline-flex;
  }

  .table {
    display: table;
  }

  .h-1 {
    height: calc(var(--spacing) * 1);
  }

  .h-full {
    height: 100%;
  }

  .h-screen {
    height: 100vh;
  }

  .min-h-32 {
    min-height: calc(var(--spacing) * 32);
  }

  .min-h-\[1\.25rem\] {
    min-height: 1.25rem;
  }

  .min-h-screen {
    min-height: 100vh;
  }

  .w-\[min\(28rem\,92vw\)\] {
    width: min(28rem, 92vw);
  }

  .w-full {
    width: 100%;
  }

  .max-w-\[320px\] {
    max-width: 320px;
  }

  .max-w-md {
    max-width: var(--container-md);
  }

  .max-w-sm {
    max-width: var(--container-sm);
  }

  .flex-1 {
    flex: 1;
  }

  .shrink {
    flex-shrink: 1;
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .grow {
    flex-grow: 1;
  }

  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .cursor-default {
    cursor: default;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .resize {
    resize: both;
  }

  .list-disc {
    list-style-type: disc;
  }

  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-baseline {
    align-items: baseline;
  }

  .items-center {
    align-items: center;
  }

  .items-start {
    align-items: flex-start;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  :where(.space-y-0\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .rounded {
    border-radius: .25rem;
  }

  .rounded-lg {
    border-radius: var(--radius-lg);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }

  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }

  .border-amber-300\/70 {
    border-color: #ffd236b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-300\/70 {
      border-color: color-mix(in oklab, var(--color-amber-300) 70%, transparent);
    }
  }

  .border-neutral-500 {
    border-color: var(--color-neutral-500);
  }

  .border-neutral-600 {
    border-color: var(--color-neutral-600);
  }

  .border-neutral-700 {
    border-color: var(--color-neutral-700);
  }

  .border-neutral-800 {
    border-color: var(--color-neutral-800);
  }

  .border-neutral-900 {
    border-color: var(--color-neutral-900);
  }

  .bg-neutral-700 {
    background-color: var(--color-neutral-700);
  }

  .bg-neutral-800 {
    background-color: var(--color-neutral-800);
  }

  .bg-neutral-900 {
    background-color: var(--color-neutral-900);
  }

  .bg-neutral-900\/95 {
    background-color: #171717f2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-neutral-900\/95 {
      background-color: color-mix(in oklab, var(--color-neutral-900) 95%, transparent);
    }
  }

  .bg-neutral-950 {
    background-color: var(--color-neutral-950);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }

  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }

  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }

  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }

  .pl-2 {
    padding-left: calc(var(--spacing) * 2);
  }

  .pl-3 {
    padding-left: calc(var(--spacing) * 3);
  }

  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }

  .text-center {
    text-align: center;
  }

  .text-left {
    text-align: left;
  }

  .align-middle {
    vertical-align: middle;
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\[10px\] {
    font-size: 10px;
  }

  .text-\[11px\] {
    font-size: 11px;
  }

  .text-\[13px\] {
    font-size: 13px;
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .whitespace-pre-wrap {
    white-space: pre-wrap;
  }

  .text-amber-200 {
    color: var(--color-amber-200);
  }

  .text-amber-300 {
    color: var(--color-amber-300);
  }

  .text-amber-400 {
    color: var(--color-amber-400);
  }

  .text-emerald-400 {
    color: var(--color-emerald-400);
  }

  .text-emerald-500 {
    color: var(--color-emerald-500);
  }

  .text-neutral-100 {
    color: var(--color-neutral-100);
  }

  .text-neutral-200 {
    color: var(--color-neutral-200);
  }

  .text-neutral-300 {
    color: var(--color-neutral-300);
  }

  .text-neutral-400 {
    color: var(--color-neutral-400);
  }

  .text-neutral-500 {
    color: var(--color-neutral-500);
  }

  .text-neutral-600 {
    color: var(--color-neutral-600);
  }

  .text-neutral-700 {
    color: var(--color-neutral-700);
  }

  .text-red-400 {
    color: var(--color-red-400);
  }

  .text-sky-300 {
    color: var(--color-sky-300);
  }

  .lowercase {
    text-transform: lowercase;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .underline {
    text-decoration-line: underline;
  }

  .underline-offset-2 {
    text-underline-offset: 2px;
  }

  .underline-offset-4 {
    text-underline-offset: 4px;
  }

  .opacity-90 {
    opacity: .9;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .last\:border-b-0:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0;
  }

  @media (hover: hover) {
    .hover\:border-neutral-500:hover {
      border-color: var(--color-neutral-500);
    }

    .hover\:border-neutral-600:hover {
      border-color: var(--color-neutral-600);
    }

    .hover\:bg-neutral-800:hover {
      background-color: var(--color-neutral-800);
    }

    .hover\:bg-neutral-900:hover {
      background-color: var(--color-neutral-900);
    }

    .hover\:text-neutral-50:hover {
      color: var(--color-neutral-50);
    }

    .hover\:text-neutral-100:hover {
      color: var(--color-neutral-100);
    }

    .hover\:text-neutral-300:hover {
      color: var(--color-neutral-300);
    }

    .hover\:underline:hover {
      text-decoration-line: underline;
    }
  }

  .focus\:border-neutral-600:focus {
    border-color: var(--color-neutral-600);
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  .\[data-rail-row\]\:visible:is(data-rail-row), .\[role\=radio\]\:visible:is() {
    visibility: visible;
  }
}

.spatial {
  --sc-bg: radial-gradient(120% 90% at 50% 42%, oklch(24% .012 130) 0%, oklch(16% .01 120) 55%, oklch(13% .008 110) 100%);
  --sc-ink: oklch(93% .015 90);
  --sc-soft: oklch(76% .015 90);
  --sc-mute: oklch(60% .014 95);
  --sc-rule: oklch(40% .01 110);
  --sc-accent: oklch(80% .05 140);
  --sc-serif: "Iowan Old Style", "Palatino Linotype", "URW Palladio L", P052, serif;
  --sc-mono: "DM Mono", "JetBrains Mono", var(--forge-mono, ui-monospace), monospace;
  --sc-sans: Seravek, "Gill Sans Nova", Ubuntu, Calibri, "DejaVu Sans", source-sans-pro, sans-serif;
  width: 100%;
  height: var(--spatial-height, min(74vh, 660px));
  border-radius: var(--spatial-radius, 12px);
  background: var(--sc-bg);
  min-height: 320px;
  color: var(--sc-ink);
  touch-action: none;
  overscroll-behavior: none;
  -webkit-user-select: none;
  user-select: none;
  cursor: grab;
  outline: none;
  position: relative;
  overflow: hidden;
  container-type: size;
}

.spatial:active {
  cursor: grabbing;
}

.spatial .spatial-own-pointer, .spatial textarea, .spatial input, .spatial [contenteditable="true"] {
  touch-action: auto;
  -webkit-user-select: text;
  user-select: text;
}

.spatial:focus-visible {
  box-shadow: inset 0 0 0 1px var(--forge-focus, oklch(70% .12 80));
}

@supports (color: color-mix(in lab, red, red)) {
  .spatial:focus-visible {
    box-shadow: inset 0 0 0 1px color-mix(in oklch, var(--forge-focus, oklch(70% .12 80)) 55%, transparent);
  }
}

.spatial--paper {
  --sc-bg: radial-gradient(130% 100% at 50% 40%, oklch(99% .004 95), oklch(93% .008 90));
  --sc-ink: oklch(27% .012 75);
  --sc-soft: oklch(42% .012 75);
  --sc-mute: oklch(55% .012 75);
  --sc-rule: oklch(85% .01 85);
  --sc-accent: oklch(47% .07 195);
}

.spatial-lens {
  transform-origin: 0 0;
  width: 0;
  height: 0;
  transform-style: preserve-3d;
  position: absolute;
  top: 50%;
  left: 50%;
}

.spatial-world {
  transform-origin: 0 0;
  transform-style: preserve-3d;
  position: absolute;
  top: 0;
  left: 0;
}

.place {
  transform-style: preserve-3d;
  backface-visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
}

.place-near {
  transition: opacity .45s;
}

.place-far {
  transform: translate(-50%, -50%) scale(var(--far-k, 1));
  color: var(--place-color, var(--sc-soft));
  font: 400 15px/1 var(--sc-mono);
  letter-spacing: .14em;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  background: none;
  border: 0;
  margin: 0;
  padding: .3em .5em;
  transition: opacity .4s, visibility 0s linear .4s;
  position: absolute;
  top: 50%;
  left: 50%;
}

.place[data-lod="far"] .place-far {
  opacity: 1;
  visibility: visible;
  transition: opacity .4s;
}

.place[data-crowded="true"] .place-far {
  color: #0000;
  pointer-events: none;
  background: none;
}

.place[data-lod="far"] .place-near, .place[data-lod="mid"] .place-body {
  opacity: 0;
  visibility: hidden;
}

.place[data-lod="off"] {
  visibility: hidden;
}

.place--dim:not(.place--active) .place-near {
  opacity: .26;
}

.place-region {
  transform: translate(var(--region-x, 0px), var(--region-y, 0px)) translate(-50%, -100%) scale(var(--near-k, 1)) translateY(-.7em);
  transform-origin: 50% 100%;
  color: var(--place-color, var(--sc-mute));
  font: 400 1.5rem/1 var(--sc-serif);
  letter-spacing: .04em;
  white-space: nowrap;
  pointer-events: none;
  transition: opacity .5s, visibility;
  position: absolute;
  top: 50%;
  left: 50%;
}

.place-region[data-region="stepped-back"], .place[data-lod="far"] .place-region, .place[data-lod="off"] .place-region {
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s, visibility 0s linear .5s;
}

.place-near {
  width: min(36rem, 84cqw);
}

.place-kicker {
  color: var(--place-color, var(--sc-mute));
  font: 400 .8rem/1 var(--sc-mono);
  letter-spacing: .22em;
  text-align: center;
  margin: 0 0 .9rem;
}

.place-title {
  color: var(--sc-ink);
  font: 400 clamp(1.9rem, 5cqw, 2.8rem)/1.08 var(--sc-serif);
  letter-spacing: -.01em;
  text-align: center;
  text-wrap: balance;
  margin: 0 0 1.6rem;
}

.place-body {
  color: var(--sc-soft);
  font: 400 1.32rem/1.55 var(--sc-serif);
}

.place-body p {
  margin: 0 0 1em;
}

.place-body em {
  color: var(--sc-ink);
}

.place-body a {
  color: var(--sc-accent);
}

.place-body .md-figure {
  margin: 0;
}

.place-body img {
  border-radius: 3px;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 46cqh;
  margin: 0 auto;
  display: block;
}

.place-body--one-at-a-time {
  display: grid;
}

.place-body--one-at-a-time > .place-leaf {
  grid-area: 1 / 1;
  align-self: start;
  margin: 0;
}

.place-leaf[data-leaf="hidden"] {
  opacity: 0;
  visibility: hidden;
}

.place-body--accumulate > .place-leaf[data-leaf="hidden"] {
  visibility: hidden;
}

.place-mount {
  box-sizing: border-box;
  width: var(--mount-w, 100%);
  height: var(--mount-h, 100%);
  border-radius: 4px;
  overflow: hidden;
}

.place:not(.place--active) .place-mount {
  content-visibility: hidden;
}

.place-mount[data-mount-state="waiting"], .place-mount[data-mount-state="mounting"] {
  opacity: 0;
}

.place-mount-trouble {
  color: var(--sc-mute);
  font: 400 .95rem/1.5 var(--sc-mono);
  margin: 0;
  padding: 1.2rem;
}

.place.field .place-near {
  text-align: center;
  width: auto;
  min-width: 16rem;
  transform: scale(var(--near-k, 1));
  transition: opacity .45s, transform .6s;
}

.place.field .place-title {
  color: oklch(86% .04 140);
  margin: 0 0 .5rem;
  font-size: clamp(3.4rem, 11cqw, 6rem);
}

.place.field .place-body {
  color: var(--sc-mute);
  font: 400 .72rem/1 var(--sc-mono);
  letter-spacing: .22em;
  text-transform: uppercase;
}

.place[data-depth="2"] .place-title {
  font-size: 2rem;
}

.place.impress-step .place-near {
  box-sizing: border-box;
  color: oklch(30% .01 75);
  width: min(900px, 94cqw);
  min-height: min(700px, 128cqw);
  font: 400 clamp(15px, 2.4cqw, 26px)/1.45 var(--sc-sans);
  text-align: left;
  background: oklch(99.5% .003 95);
  border-radius: 10px;
  padding: clamp(18px, 4cqw, 40px) clamp(20px, 5cqw, 60px);
  box-shadow: 0 2px 6px oklch(30% .02 80 / .1), 0 18px 40px oklch(30% .02 80 / .12);
}

.place.impress-step .place-body {
  color: inherit;
  font: inherit;
}

.place.impress-step h1 {
  font: 600 clamp(28px, 5cqw, 56px)/1.1 var(--sc-sans);
  text-align: center;
  margin: 0 0 .4em;
}

.place.impress-step h2 {
  font: 500 clamp(19px, 3.1cqw, 34px)/1.2 var(--sc-sans);
  color: oklch(45% .01 75);
  text-align: center;
  margin: 0 0 .6em;
}

.place.impress-step ul, .place.impress-step ol {
  margin: .4em 0;
  padding-left: 1.2em;
}

.place.impress-step li {
  margin: .2em 0;
}

.place.impress-step pre {
  font: 400 clamp(11px, 1.6cqw, 17px)/1.4 var(--sc-mono);
  white-space: pre-wrap;
  background: oklch(96% .005 95);
  border-radius: 6px;
  margin: .6em 0;
  padding: .6em .8em;
  overflow: hidden;
}

.place.impress-step code {
  font-family: var(--sc-mono);
  font-size: .85em;
}

.place.impress-step blockquote {
  border-left: 4px solid oklch(85% .01 85);
  margin: .6em 0;
  padding-left: .8em;
  font-style: italic;
}

.place.impress-step img {
  float: right;
  border-radius: 4px;
  max-width: 45%;
  margin: 0 0 .4em .8em;
}

.place.impress-step.title .place-near {
  text-align: center;
  align-content: center;
  display: grid;
}

.place.impress-step.place--empty .place-near {
  display: none;
}

.place.impress-step .place-far {
  color: oklch(45% .01 75);
  letter-spacing: .04em;
  font-family: var(--sc-sans);
}

.place.impress-step.place--empty .place-far {
  display: none;
}

.spatial--paper .place--dim:not(.place--active) .place-near {
  opacity: .3;
}

.spatial-chrome {
  pointer-events: none;
  font: 400 .72rem/1.2 var(--sc-mono);
  color: var(--sc-mute);
  letter-spacing: .08em;
  position: absolute;
  inset: 0;
}

.spatial-heading {
  justify-content: space-between;
  gap: 1rem;
  display: flex;
  position: absolute;
  top: 1rem;
  left: 1.1rem;
  right: 1.1rem;
}

.spatial-title {
  text-transform: uppercase;
}

.spatial-mode {
  color: var(--sc-accent);
  margin-left: auto;
}

.spatial-inside {
  pointer-events: auto;
  color: var(--sc-soft);
  font: inherit;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  background: none;
  border: 0;
  padding: .2rem 0;
}

.spatial-inside:hover, .spatial-inside:focus-visible {
  color: var(--sc-ink);
  text-underline-offset: .3em;
  outline: none;
  text-decoration: underline;
}

.spatial-foot {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  display: flex;
  position: absolute;
  bottom: .9rem;
  left: 1rem;
  right: 1rem;
}

.spatial-address, .spatial-go {
  pointer-events: auto;
}

.spatial-address {
  text-overflow: ellipsis;
  white-space: nowrap;
  border: 1px solid var(--sc-mute);
  max-width: 60cqw;
  overflow: hidden;
}

@supports (color: color-mix(in lab, red, red)) {
  .spatial-address {
    border: 1px solid color-mix(in oklch, var(--sc-mute) 40%, transparent);
  }
}

.spatial-address {
  background: var(--sc-bg-solid, black);
  border-radius: 999px;
}

@supports (color: color-mix(in lab, red, red)) {
  .spatial-address {
    background: color-mix(in oklch, var(--sc-bg-solid, black) 20%, transparent);
  }
}

.spatial-address {
  color: var(--sc-soft);
  font: inherit;
  letter-spacing: .06em;
  cursor: pointer;
  padding: .35rem .75rem;
}

.spatial-address:hover, .spatial-address:focus-visible {
  color: var(--sc-ink);
  border-color: var(--sc-soft);
  outline: none;
}

.spatial-go {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.spatial-go-label {
  color: var(--sc-mute);
}

.spatial-address-input {
  border: 1px solid var(--sc-soft);
  width: min(18rem, 60cqw);
  color: var(--sc-ink);
  font: inherit;
  letter-spacing: .04em;
  background: oklch(0% none none / .3);
  border-radius: 999px;
  outline: none;
  padding: .35rem .75rem;
}

.spatial--paper .spatial-address-input {
  background: oklch(100% 0 0 / .8);
}

.spatial-address-input[aria-invalid="true"] {
  border-color: oklch(65% .14 30);
}

.spatial-progress {
  font-variant-numeric: tabular-nums;
}

.spatial-hint {
  text-align: center;
  opacity: 0;
  pointer-events: none;
  width: max-content;
  max-width: 88cqw;
  animation: 7s .8s both spatial-hint;
  position: absolute;
  bottom: 3.1rem;
  left: 50%;
  transform: translateX(-50%);
}

.hint-touch {
  display: none;
}

@media (pointer: coarse) {
  .hint-keys {
    display: none;
  }

  .hint-touch {
    display: inline;
  }
}

@media (max-width: 640px) {
  .spatial-hint {
    bottom: 10rem;
  }
}

@keyframes spatial-hint {
  0% {
    opacity: 0;
  }

  12% {
    opacity: .9;
  }

  80% {
    opacity: .9;
  }

  100% {
    opacity: 0;
  }
}

.spatial-live {
  clip: rect(0 0 0 0);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.spatial--reduced .place-near, .spatial--reduced .place-far {
  transition-duration: .12s;
}

.spatial--reduced .spatial-hint {
  opacity: .8;
  animation: none;
}

@media (prefers-reduced-motion: reduce) {
  .spatial-hint {
    opacity: .8;
    animation: none;
  }
}

.spatial--full {
  --spatial-height: 100dvh;
  --spatial-radius: 0;
  min-height: 100dvh;
}

.spatial-fixture {
  gap: .8rem;
  display: grid;
}

.spatial-fixture-context {
  gap: .2rem;
  display: grid;
}

.spatial-fixture-context small {
  color: var(--forge-text-soft);
  font-family: var(--forge-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .68rem;
}

.spatial-fixture-context strong {
  font-family: var(--forge-serif);
  font-size: 1.15rem;
  font-weight: 550;
}

.spatial-fixture-context p {
  max-width: 62ch;
  color: var(--forge-text-soft);
  margin: 0;
  font-size: .9rem;
}

.here {
  --sc-ink: oklch(93% .015 90);
  --sc-soft: oklch(76% .015 90);
  --sc-mute: oklch(60% .014 95);
  --sc-accent: oklch(80% .05 140);
  --sc-serif: "Iowan Old Style", "Palatino Linotype", "URW Palladio L", P052, serif;
  --sc-mono: "DM Mono", "JetBrains Mono", var(--forge-mono, ui-monospace), monospace;
  --sc-sans: Seravek, "Gill Sans Nova", Ubuntu, Calibri, "DejaVu Sans", source-sans-pro, sans-serif;
  width: 100%;
  height: var(--here-height, 100dvh);
  --here-line: oklch(72% .05 140);
  --here-warm: oklch(80% .08 70);
  --here-card: oklch(20% .012 125 / .94);
  --here-card-ink: oklch(86% .03 110);
  --here-card-aside: oklch(78% .03 110);
  --here-card-cap: 264px;
  --here-card-open-cap: 40rem;
  --r-control: 10px;
  --r-box: 12px;
  --r-pill: 999px;
  --r-sheet: 14px;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --control-h: 36px;
  --text-body: 1rem;
  --text-small: .875rem;
  --control-h-big: 44px;
  --text-aside: .75rem;
  --text-title: 1.3rem;
  --hairline: 1px solid oklch(72% .05 140 / .35);
  --frost-blur: blur(14px) saturate(1.2);
  --frost-fill: oklch(20% .012 125 / .78);
  --motion-sheet: .18s;
  --motion-pulse: .4s;
  --dock-h: 9.6rem;
  --r-tag: 4px;
  --ground-tag-fill: oklch(14% .01 120 / .72);
  --ground-callout-fill: oklch(14% .01 120 / .95);
  --ground-callout-line: oklch(45% .02 120 / .7);
  --ground-milk: linear-gradient(oklch(100% 0 0 / .05), oklch(100% 0 0 / .02));
  --ground-ink: var(--sc-ink);
  --ground-aside: var(--sc-soft);
  --ground-quiet: var(--sc-mute);
  --ground-label-text: var(--text-small);
  --ground-aside-font: 400 .78rem/1.4 var(--sc-mono);
  --ground-aside-track: .04em;
  --ground-title-font: 600 1.5rem/1.1 var(--sc-serif);
  --rail-w: 4.5rem;
  background: oklch(14% .01 120);
  position: relative;
  overflow: hidden;
}

:root, .here {
  --brand-from: #5cafcf;
  --brand-to: #92cb6f;
  --brand-ground-dark: #21282d;
  --brand-gradient: linear-gradient(65deg, var(--brand-from), var(--brand-to));
}

@media (prefers-reduced-motion: reduce) {
  .here {
    --motion-sheet: 10ms;
    --motion-pulse: 10ms;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .here {
    --frost-fill: oklch(20% .012 125);
  }
}

.here.here--fixture {
  --here-height: min(80vh, 720px);
  border-radius: 12px;
}

.here .here-canvas {
  --spatial-height: var(--here-height, 100dvh);
  --spatial-radius: 0;
  height: 100%;
}

.here .spatial-title, .here .spatial-progress {
  visibility: hidden;
}

.place.here-root .place-near, .place.here-root .place-far {
  display: none;
}

.place.here-item .place-near {
  width: max(24ch, 22rem);
}

.place.here-item .place-far {
  font: 400 15px/1 var(--sc-sans);
  letter-spacing: .01em;
  color: oklch(84% .03 110);
}

.place.here-item[data-lod="far"] .place-far:before {
  content: "";
  background: var(--here-line);
  opacity: .6;
  border-radius: 50%;
  width: 5px;
  height: 5px;
  margin-left: -2.5px;
  position: absolute;
  top: -9px;
  left: 50%;
}

.place.here-item[data-unnamed][data-lod="far"] .place-far {
  color: #0000;
  transition: color .3s;
}

.place.here-item[data-unnamed][data-lod="far"]:hover .place-far, .place.here-item[data-unnamed][data-lod="far"]:focus-within .place-far {
  color: oklch(84% .03 110);
}

.here--time .place.here-item[data-tier="far"] {
  opacity: .45;
  transition: opacity .3s;
}

.here--time .place.here-item[data-tier="far"]:hover, .here--time .place.here-item[data-tier="far"]:focus-within {
  opacity: 1;
}

.here--time .place.here-item.is-dim {
  opacity: .3;
  transition: opacity .3s;
}

.here--time .place.here-item.is-faint {
  opacity: .45;
  transition: opacity .3s;
}

.here--time .place.here-item.is-faint .card-face {
  color: var(--sc-mute);
}

.here--time .place.here-item:is(.is-dim, .is-faint):hover, .here--time .place.here-item:is(.is-dim, .is-faint):focus-within {
  opacity: 1;
}

.here--map .place.here-item[data-tier="far"] {
  filter: blur(1.5px);
  opacity: .55;
  transition: filter .3s, opacity .3s;
}

.here--map .place.here-item[data-tier="far"]:hover, .here--map .place.here-item[data-tier="far"]:focus-within {
  filter: none;
  opacity: 1;
}

.here--map .place.here-item .place-far {
  background: oklch(14% .01 120 / .72);
  border-radius: 4px;
  padding: .25em .5em;
}

.place.here-item[data-crowded="true"] .place-far, .here--map .place.here-item[data-crowded="true"] .place-far {
  color: #0000;
  pointer-events: none;
  background: none;
}

.here-card {
  perspective: 1400px;
  position: relative;
}

.card-face {
  box-sizing: border-box;
  border-radius: var(--r-sheet);
  background: var(--ground-milk), var(--here-card);
  border: 1px solid var(--ground-callout-line);
  backface-visibility: hidden;
  padding: 1.5rem 1.6rem 1.4rem;
  transition: transform .8s cubic-bezier(.16, 1, .3, 1);
  box-shadow: inset 0 1px oklch(100% 0 0 / .04), 0 20px 50px oklch(0% 0 0 / .35);
}

.card-back {
  position: absolute;
  inset: 0;
  overflow: auto;
  transform: rotateY(180deg);
}

.here-card.is-turned .card-front {
  transform: rotateY(-180deg);
}

.here-card.is-turned .card-back {
  transform: rotateY(0);
}

.layer-pencils {
  z-index: 2;
}

.layer-pencils > .here-card.is-pencil {
  transform: translate(-50%, -50%) translate(var(--pencil-dx, 0px), var(--pencil-dy, 0px)) scale(var(--pencil-fit, 1));
}

.here-card.is-pencil .card-face {
  border-style: dashed;
}

.here-card.is-pencil.is-editing .card-face {
  border-style: dashed;
  border-color: var(--here-warm);
}

.here-card .pencil-tools {
  flex-wrap: wrap;
  gap: .4rem;
  display: flex;
}

.here-card .pencil-tools > button {
  border: 1px solid var(--here-line);
  border-radius: var(--r-pill);
  color: var(--sc-ink);
  font: 400 .8rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  padding: .3rem .8rem;
}

.here-card .pencil-tools .pencil-keep {
  background: oklch(72% .05 140 / .18);
}

.here-card .pencil-tools .pencil-let-go {
  color: var(--sc-soft);
  background: oklch(62% .02 60 / .14);
  margin-left: auto;
}

.press-fades, .here-ask-press.press-fades {
  color: var(--sc-soft);
  position: relative;
}

.press-fades:hover:after, .press-fades:focus-visible:after {
  content: attr(title);
  white-space: nowrap;
  pointer-events: none;
  color: var(--sc-mute);
  font: 400 .72rem/1 var(--sc-sans);
  text-decoration: none;
  position: absolute;
  top: calc(100% + .25rem);
  left: 50%;
  transform: translateX(-50%);
}

.here-card.is-pencil.is-letting-go {
  opacity: 0;
  pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
  .here-card.is-pencil.is-letting-go {
    transition: opacity .6s ease-out;
  }
}

.here-card .pencil-tools .pencil-write {
  font: inherit;
  line-height: inherit;
  align-items: center;
  display: inline-flex;
}

.here-card .pencil-tools .pencil-write .pencil-write-mark {
  width: 1rem;
  height: 1rem;
  display: block;
}

.here-card.is-pencil.is-editing .card-tools {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .5rem;
  display: flex;
}

.here-host > .pencil-sitting {
  flex-direction: column;
  max-height: 100%;
  display: flex;
  overflow: hidden;
}

.pencil-sitting > .card-face {
  flex-direction: column;
  flex: auto;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.pencil-sitting .card-tools, .pencil-sitting .place-title {
  flex: none;
}

.pencil-sitting .place-body {
  flex: auto;
  min-height: 0;
  overflow-y: auto;
}

.here-card.is-pencil.is-asked .card-face {
  box-shadow: 0 0 0 3px oklch(75% .05 80 / .22), 0 20px 50px oklch(0% 0 0 / .35);
}

.here-card .pencil-held {
  color: var(--sc-mute);
  font: 400 .72rem/1.2 var(--sc-mono, monospace);
  letter-spacing: .04em;
  margin: -.6rem 0 .8rem;
  display: block;
}

.here-card .pencil-from {
  color: var(--sc-mute);
  font: 400 .72rem/1.2 var(--sc-mono, monospace);
  letter-spacing: .04em;
  margin: 0 0 .8rem;
  display: block;
}

.here-card .pencil-hold-line {
  margin-top: .7rem;
}

.here-card .pencil-hold-says {
  color: var(--sc-mute);
  font: 400 .72rem/1.35 var(--sc-sans);
  margin: 0 0 .45rem;
}

.here-card .pencil-hold-stops {
  flex-wrap: nowrap;
  gap: .35rem;
  display: flex;
}

.here-card .pencil-stop {
  border: 1px dashed var(--here-line);
  border-radius: var(--r-pill);
  min-width: 0;
  color: var(--sc-ink);
  font: 400 .72rem/1 var(--sc-sans);
  white-space: nowrap;
  cursor: pointer;
  background: none;
  flex: 0 auto;
  padding: .25rem .6rem;
}

.here-card .pencil-stop[aria-pressed="true"] {
  background: oklch(100% 0 0 / .06);
  border-style: solid;
}

@media (max-width: 375px) {
  .here-card .pencil-hold-line .pencil-hold-stops {
    gap: .2rem;
  }

  .here-card .pencil-stop {
    padding: .25rem .4rem;
    font-size: .68rem;
  }
}

.here-card .place-title {
  overflow-wrap: anywhere;
  text-align: left;
  margin: 0 0 .9rem;
  font-size: 1.7rem;
  line-height: 1.15;
}

.here-card .place-body {
  color: var(--here-card-ink);
  -webkit-user-select: text;
  user-select: text;
  font-size: 1.05rem;
  line-height: 1.5;
}

.here-card .place-body > :last-child, .here-card .card-lines > :last-child {
  margin-bottom: 0;
}

.here-card .place-body ul {
  margin: 0 0 1em;
  padding-left: 1.1em;
}

.here-card:not(.is-open):not(.is-editing) .place-title {
  -webkit-line-clamp: 3;
  overflow-wrap: break-word;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.place:not(.here-place) .here-card:not(.is-open):not(.is-editing) .card-front {
  max-height: var(--here-card-cap);
  overflow: hidden;
}

.place:not(.here-place) .here-card:not(.is-open):not(.is-editing) .card-lines {
  max-height: 4.725rem;
  overflow: hidden;
}

.place:not(.here-place) .here-card:not(.is-open):not(.is-editing) .place-body img {
  max-height: 4.725rem;
}

[data-view-shows="titles"] .here-card:not(.is-open) .card-lines, [data-view-shows="titles"] .here-card:not(.is-open) .card-more {
  display: none;
}

.here-card .card-more {
  color: var(--here-card-aside);
  font: var(--ground-aside-font);
  letter-spacing: .08em;
  margin: .5rem 0 0;
}

.here-card .card-from, .here-card .card-shared {
  color: var(--here-card-aside);
  font: var(--ground-aside-font);
  letter-spacing: var(--ground-aside-track);
  margin: .15rem 0 .35rem;
}

.here-card .card-shared[hidden] {
  display: none;
}

.place:not(.here-place) .here-card.is-open:not(.is-editing) .card-front {
  max-height: var(--here-card-open-cap);
  overflow-y: auto;
}

@media (max-width: 640px) {
  .here {
    --here-card-open-cap: 26rem;
  }
}

.lens-fields {
  grid-template-columns: max-content 1fr;
  gap: .35rem 1rem;
  margin: 0;
  font-size: .95rem;
  display: grid;
}

.lens-fields dt {
  color: var(--sc-mute);
  font: 400 .72rem/1.9 var(--sc-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.lens-fields dd {
  color: var(--sc-ink);
  margin: 0;
}

.lens-place-note {
  margin: 0 0 .6em;
}

.site-cover {
  grid-template-columns: minmax(0, 1fr);
  gap: .45rem;
  display: grid;
}

.site-cover-tagline, .site-cover-credit {
  overflow-wrap: anywhere;
}

.site-cover-band {
  background: var(--sc-mute);
  border-radius: 2px;
  height: .5rem;
  display: flex;
  overflow: hidden;
}

.site-cover-stripe {
  flex: 1;
}

.site-cover-title {
  color: var(--ground-ink);
  font: var(--ground-title-font);
  overflow-wrap: anywhere;
  margin: .2rem 0 0;
}

.site-cover-tagline {
  color: var(--ground-aside);
  font: italic 400 1rem/1.3 var(--sc-serif);
  margin: 0;
}

.site-cover-contents {
  gap: .15rem;
  margin: .2rem 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.site-cover-section {
  color: var(--sc-ink);
  font: inherit;
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  align-items: center;
  gap: .5rem;
  padding: .1rem 0;
  display: flex;
}

.site-cover-section:hover span:last-child {
  text-underline-offset: .25em;
  text-decoration: underline;
}

.site-cover-dot {
  background: var(--sc-mute);
  border-radius: 50%;
  flex: none;
  width: .6rem;
  height: .6rem;
}

.site-cover-ways {
  gap: .9rem;
  display: flex;
}

.site-cover-read, .site-cover-published, .record-show-details {
  color: var(--sc-accent);
  font: 400 .85rem/1.2 var(--sc-mono);
  letter-spacing: .06em;
  cursor: pointer;
  text-underline-offset: .25em;
  background: none;
  border: 0;
  padding: 0;
  text-decoration: underline;
}

.site-cover-credit {
  color: var(--ground-quiet);
  font: var(--ground-aside-font);
  letter-spacing: var(--ground-aside-track);
  margin-top: .2rem;
}

.record-kept {
  justify-items: start;
  gap: .35rem;
  display: grid;
}

.record-kept-say {
  color: var(--sc-mute);
  margin: 0;
  font-style: italic;
}

.record-details {
  word-break: break-word;
  margin-top: .3rem;
  font-size: .8rem;
}

.record-details dd {
  white-space: pre-wrap;
  font-family: var(--sc-mono);
}

.here-shadow-layer {
  z-index: 6;
  border: 1px dashed var(--sc-mute);
  opacity: .8;
  width: min(22rem, 80vw);
  max-height: 55%;
  color: var(--sc-soft);
  background: oklch(20% .01 90 / .55);
  border-radius: 6px;
  padding: .7rem .8rem;
  font-size: .85rem;
  position: absolute;
  bottom: 4.5rem;
  left: 1rem;
  overflow: auto;
}

.shadow-lead {
  color: var(--sc-mute);
  font: 400 .7rem/1.4 var(--sc-mono);
  letter-spacing: .18em;
  text-transform: uppercase;
  margin: 0;
}

.shadow-note, .shadow-none {
  color: var(--sc-mute);
  margin: .2rem 0 .5rem;
  font-style: italic;
}

.shadow-records {
  gap: .45rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.shadow-record {
  border: 1px dashed oklch(60% .014 95 / .6);
  border-radius: 4px;
  justify-items: start;
  gap: .15rem;
  padding: .35rem .5rem;
  display: grid;
}

.shadow-kind {
  color: var(--sc-mute);
  font: 400 .72rem/1.3 var(--sc-mono);
}

.shadow-title {
  color: var(--sc-soft);
}

.lens-place-at {
  color: var(--sc-mute);
  font: 400 .78rem/1.4 var(--sc-mono);
  align-items: baseline;
  gap: .8rem;
  margin: 0;
  display: flex;
}

.lens-inline, .lens-enter {
  color: var(--sc-accent);
  font: inherit;
  cursor: pointer;
  text-underline-offset: .25em;
  background: none;
  border: 0;
  padding: 0;
  text-decoration: underline;
}

.lens-enter {
  font: 400 .9rem/1 var(--sc-mono);
  letter-spacing: .1em;
  margin-top: .4rem;
}

.lens-link {
  gap: .3rem;
  display: grid;
}

.lens-link-host {
  color: var(--sc-ink);
  font-size: 1.3rem;
}

.lens-link-url {
  color: var(--sc-accent);
  font: 400 .78rem/1.4 var(--sc-mono);
  word-break: break-all;
}

.lens-media {
  margin: 0 0 .8rem;
}

.lens-media img {
  border-radius: 8px;
  width: 100%;
  max-height: none;
}

.lens-media figcaption {
  color: var(--sc-mute);
  font: 400 .7rem/1.2 var(--sc-mono);
  margin-top: .3rem;
}

.lens-scene-lead {
  color: var(--sc-ink);
  margin: 0 0 .4em;
}

.lens-scene-places {
  color: var(--sc-soft);
  margin: 0 0 .6em;
  padding-left: 1.1em;
}

.back-lead {
  color: var(--sc-mute);
  font: 400 .72rem/1 var(--sc-mono);
  letter-spacing: .2em;
  text-transform: uppercase;
  margin: 0 0 .8rem;
}

.back-events {
  gap: .55rem;
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
  display: grid;
}

.back-events li {
  border-left: 1px solid var(--here-line);
  justify-content: space-between;
  gap: 1rem;
  padding-left: .9rem;
  display: flex;
}

.back-when {
  color: var(--sc-mute);
  font: 400 .75rem/1.5 var(--sc-mono);
  white-space: nowrap;
}

.back-note {
  color: var(--sc-mute);
  margin: 0;
  font-size: .9rem;
  font-style: italic;
}

.card-edge {
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.edge-mark {
  width: 2rem;
  height: 2rem;
  color: var(--sc-soft);
  font: 400 .95rem/1 var(--sc-sans);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  background: oklch(18% .012 125);
  border: 1px solid oklch(50% .03 130 / .6);
  border-radius: 50%;
  place-items: center;
  padding: 0;
  transition: opacity .35s, transform .35s cubic-bezier(.16, 1, .3, 1), color .2s, border-color .2s;
  display: grid;
  position: absolute;
  transform: scale(.8);
}

.edge-top {
  margin-left: -1rem;
  top: -1rem;
  left: 50%;
}

.edge-bottom {
  margin-left: -1rem;
  bottom: -1rem;
  left: 50%;
}

.edge-right {
  margin-top: -1rem;
  top: 50%;
  right: -1rem;
}

.edge-left {
  margin-top: -1rem;
  top: 50%;
  left: -1rem;
}

.edge-corner-edit {
  top: -1rem;
  right: 2.1rem;
}

.edge-corner-more {
  top: -1rem;
  right: -.4rem;
}

.place--active .here-card:hover .edge-mark, .place--active .here-card:focus-within .edge-mark, .here-card.edges-on .edge-mark, .here--legend .place--active .edge-mark {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

@media (pointer: coarse) {
  .place--active .edge-mark {
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }
}

.edge-mark:hover, .edge-mark:focus-visible {
  color: var(--sc-ink);
  border-color: var(--here-line);
  outline: none;
}

.edge-mark:after {
  content: attr(data-legend);
  color: var(--sc-soft);
  font: 400 .72rem/1 var(--sc-mono);
  letter-spacing: .06em;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s;
  position: absolute;
  top: 50%;
  left: calc(100% + .45rem);
  transform: translateY(-50%);
}

.edge-left:after, .edge-top:after {
  left: auto;
  right: calc(100% + .45rem);
}

.edge-corner-edit:after {
  inset: auto 50% calc(100% + .4rem) auto;
  transform: translateX(-.2rem);
}

.edge-bottom:after {
  top: calc(100% + .4rem);
  left: 50%;
  transform: translateX(-50%);
}

.edge-mark:hover:after, .edge-mark:focus-visible:after, .here--legend .edge-mark:after {
  opacity: 1;
}

.here-card.is-editing .card-edge {
  display: none;
}

.here-host > .here-card.is-editing:not(.is-pencil) {
  flex-direction: column;
  max-height: 100%;
  display: flex;
  overflow: hidden;
}

.here-host > .here-card.is-editing:not(.is-pencil) > .card-tools {
  flex: none;
}

.here-host > .here-card.is-editing:not(.is-pencil) > .card-front {
  overscroll-behavior: contain;
  flex: auto;
  min-height: 0;
  overflow-y: auto;
}

.here-card.is-editing .card-face {
  padding: 1.2rem clamp(.4rem, 1.4vw, 1.6rem) 1.1rem;
}

.edit-away {
  color: var(--sc-mute);
  font: 400 var(--text-body)/1.3 var(--sc-serif);
  box-shadow: none;
  border-style: dashed;
  padding: .6rem .9rem;
}

.card-menu.is-docked {
  transform-origin: 50% 100%;
  z-index: 12;
  width: min(24rem, 100vw - 1.5rem);
}

.place.here-item:has(.card-menu.is-docked:not([hidden])) {
  z-index: 12;
}

.place.here-item:has(.card-menu.is-docked:not([hidden])), .place.here-item:has(.card-menu.is-docked:not([hidden])) .place-near {
  opacity: 1;
  visibility: visible;
}

.place.here-item:has(.is-neighbour) .place-far {
  color: var(--here-line);
}

.here-card.is-neighbour .card-face {
  border-color: var(--here-line);
}

.card-tray, .card-chips {
  opacity: 0;
  pointer-events: none;
  gap: .5rem;
  transition: opacity .35s, transform .45s cubic-bezier(.16, 1, .3, 1);
  display: flex;
  position: absolute;
}

.card-tray {
  flex-direction: column;
  top: 0;
  left: calc(100% + 1.4rem);
  transform: translateX(-.8rem);
}

.card-chips {
  flex-direction: column;
  align-items: flex-end;
  top: 0;
  right: calc(100% + 1.4rem);
  transform: translateX(.8rem);
}

.here-card.tray-open .card-tray, .here-card.chips-open .card-chips {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.tray-thumb {
  background: var(--here-card);
  border-radius: 10px;
  gap: .25rem;
  width: 8.5rem;
  padding: .4rem;
  display: grid;
}

.tray-thumb img {
  border-radius: 6px;
  width: 100%;
}

.tray-thumb span {
  color: var(--sc-mute);
  font: 400 .65rem/1.2 var(--sc-mono);
  overflow-wrap: anywhere;
}

.card-face-files {
  cursor: auto;
  gap: .5rem;
  margin: .6rem 0;
  display: grid;
}

.card-face-files audio, .card-face-files video {
  width: 100%;
  max-height: 14rem;
}

.card-face-files .card-face-picture {
  border-radius: var(--r-control);
  object-fit: contain;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 14rem;
  display: block;
}

.card-face-files .card-face-put-on-map, .card-face-files .card-face-set-when {
  min-height: var(--control-h);
  border-radius: var(--r-pill);
  color: var(--sc-soft);
  font: 400 .82rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(50% .02 120 / .6);
  justify-self: start;
  padding: .35rem .8rem;
}

.card-face-files .card-face-put-on-map:hover, .card-face-files .card-face-put-on-map:focus-visible, .card-face-files .card-face-set-when:hover, .card-face-files .card-face-set-when:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.chip {
  background: var(--here-card);
  color: var(--sc-ink);
  font: inherit;
  cursor: pointer;
  text-align: right;
  white-space: nowrap;
  border: 1px solid oklch(50% .04 140 / .5);
  border-radius: 12px;
  justify-items: end;
  gap: .15rem;
  padding: .5rem .8rem;
  display: grid;
}

.chip strong {
  font: 400 1rem/1.1 var(--sc-serif);
}

.chip span {
  color: var(--sc-mute);
  font: 400 .7rem/1.2 var(--sc-mono);
}

.card-menu {
  z-index: 3;
  width: 16rem;
  font: 400 .8rem/1.3 var(--sc-sans);
  transform: translate(var(--menu-dx, 0px), var(--menu-dy, 0px)) scale(var(--menu-k, 1));
  max-height: var(--menu-room, none);
  overscroll-behavior: contain;
  background: oklch(17% .012 125 / .98);
  border: 1px solid oklch(42% .02 120 / .6);
  border-radius: 12px;
  padding: .9rem;
  position: absolute;
  top: 1.6rem;
  right: -.4rem;
  overflow-y: auto;
  box-shadow: 0 16px 40px oklch(0% 0 0 / .45);
}

.card-menu[hidden] {
  display: none;
}

.menu-lead {
  color: var(--sc-mute);
  font: 400 .66rem/1 var(--sc-mono);
  letter-spacing: .18em;
  text-transform: uppercase;
  margin: 0 0 .45rem;
}

.menu-lenses {
  gap: .2rem;
  margin-bottom: .8rem;
  display: grid;
}

.menu-lens {
  color: var(--sc-soft);
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 8px;
  gap: .1rem;
  padding: .35rem .5rem;
  display: grid;
}

.menu-lens[aria-checked="true"] {
  border-color: var(--here-line);
  color: var(--sc-ink);
}

.menu-lens:hover {
  background: oklch(100% 0 0 / .04);
}

.menu-why {
  color: var(--sc-mute);
  font-size: .72rem;
}

.menu-pins {
  flex-wrap: wrap;
  gap: .25rem;
  margin-bottom: .8rem;
  display: flex;
}

.menu-pin {
  cursor: pointer;
  background: none;
  border: 1px solid oklch(40% .02 120 / .6);
  border-radius: 50%;
  width: 1.9rem;
  height: 1.9rem;
  font-size: .95rem;
}

.menu-pin:hover {
  border-color: var(--here-line);
}

.menu-tie {
  color: var(--sc-soft);
  gap: .35rem;
  margin-bottom: .8rem;
  display: grid;
}

.menu-tie button {
  color: var(--sc-soft);
  font: inherit;
  cursor: pointer;
  text-align: left;
  background: none;
  border: 1px solid oklch(40% .02 120 / .6);
  border-radius: 999px;
  padding: .3rem .7rem;
}

.menu-tie button:hover {
  border-color: var(--here-line);
  color: var(--sc-ink);
}

.menu-tie-lead {
  color: var(--sc-mute);
  font: 400 .72rem/1.2 var(--sc-sans);
}

.menu-tie-search {
  color: var(--sc-ink);
  font: inherit;
  background: oklch(0% 0 0 / .25);
  border: 1px solid oklch(40% .02 120 / .6);
  border-radius: 8px;
  padding: .3rem .5rem;
}

.menu-tie-list {
  gap: .2rem;
  max-height: 9rem;
  display: grid;
  overflow: auto;
}

.menu-tie-none {
  color: var(--sc-mute);
  font-size: .74rem;
}

.menu-gather {
  color: var(--sc-soft);
  gap: .35rem;
  margin-bottom: .8rem;
  display: grid;
}

.menu-gather button {
  color: var(--sc-soft);
  font: inherit;
  cursor: pointer;
  text-align: left;
  background: none;
  border: 1px solid oklch(40% .02 120 / .6);
  border-radius: 999px;
  padding: .3rem .7rem;
}

.menu-gather button:hover {
  border-color: var(--here-line);
  color: var(--sc-ink);
}

.menu-gather-lead {
  color: var(--sc-mute);
  font: 400 .72rem/1.2 var(--sc-sans);
}

.menu-gather-search {
  color: var(--sc-ink);
  font: inherit;
  background: oklch(0% 0 0 / .25);
  border: 1px solid oklch(40% .02 120 / .6);
  border-radius: 8px;
  padding: .3rem .5rem;
}

.menu-gather-list {
  gap: .2rem;
  max-height: 9rem;
  display: grid;
  overflow: auto;
}

.menu-gather-none {
  color: var(--sc-mute);
  font-size: .74rem;
}

.menu-gather-say {
  color: var(--sc-soft);
  margin: 0;
  font-size: .74rem;
  line-height: 1.35;
}

.menu-gather-pick.is-recent {
  border-color: var(--here-line);
  color: var(--sc-ink);
}

.menu-gather-recent {
  color: var(--sc-mute);
  margin-left: .4rem;
  font-size: .68rem;
  font-style: italic;
}

.menu-gather-again {
  color: var(--sc-ink);
}

.menu-gather-pick.is-let-hold {
  color: var(--sc-soft);
  border-style: dashed;
}

.menu-gather-pick.is-let-hold:hover, .menu-gather-pick.is-let-hold:focus-visible {
  color: var(--sc-ink);
}

.menu-within {
  color: var(--sc-soft);
  gap: .35rem;
  margin-bottom: .8rem;
  display: grid;
}

.menu-within button {
  color: var(--sc-soft);
  font: inherit;
  cursor: pointer;
  text-align: left;
  background: none;
  border: 1px solid oklch(40% .02 120 / .6);
  border-radius: 999px;
  padding: .3rem .7rem;
}

.menu-within button:hover {
  border-color: var(--here-line);
  color: var(--sc-ink);
}

.menu-within-lead {
  color: var(--sc-mute);
  font: 400 .72rem/1.2 var(--sc-sans);
}

.menu-within-search {
  color: var(--sc-ink);
  font: inherit;
  background: oklch(0% 0 0 / .25);
  border: 1px solid oklch(40% .02 120 / .6);
  border-radius: 8px;
  padding: .3rem .5rem;
}

.menu-within-list {
  gap: .2rem;
  max-height: 9rem;
  display: grid;
  overflow: auto;
}

.menu-within-none {
  color: var(--sc-mute);
  font-size: .74rem;
}

.menu-within-say {
  color: var(--sc-soft);
  margin: 0;
  font-size: .74rem;
  line-height: 1.35;
}

.place-face {
  gap: .4rem;
  display: grid;
}

.place-face-note {
  color: var(--sc-ink);
  margin: 0;
}

.place-face-say {
  color: var(--sc-mute);
  margin: 0;
  font-size: .78rem;
  line-height: 1.35;
}

.place-face-within {
  color: var(--sc-mute);
  opacity: .72;
  margin: 0;
  font-size: .74rem;
  font-style: italic;
  line-height: 1.35;
}

.menu-share {
  color: var(--sc-soft);
  gap: .35rem;
  margin-bottom: .8rem;
  display: grid;
}

.menu-share button {
  box-sizing: border-box;
  min-height: var(--control-h);
  border-radius: var(--r-pill);
  color: var(--sc-soft);
  font: inherit;
  cursor: pointer;
  text-align: left;
  background: none;
  border: 1px solid oklch(40% .02 120 / .6);
  padding: .3rem .7rem;
}

.menu-share button:hover {
  border-color: var(--here-line);
  color: var(--sc-ink);
}

.menu-share-lead {
  color: var(--sc-mute);
  font: 400 .72rem/1.2 var(--sc-sans);
}

.menu-share-say {
  color: var(--sc-soft);
  font-size: .74rem;
  line-height: 1.35;
}

.menu-share-where {
  color: var(--sc-ink);
  font-size: .74rem;
  line-height: 1.35;
}

.menu-share .menu-share-goes {
  color: var(--sc-mute);
  text-align: left;
  border: none;
  border-radius: 0;
  padding: .1rem 0;
  font-size: .74rem;
  line-height: 1.35;
}

.menu-share .menu-share-goes:hover {
  color: var(--sc-soft);
  border: none;
  text-decoration: underline;
}

.menu-share-things {
  gap: .1rem;
  padding-left: .2rem;
  display: grid;
}

.menu-share-thing {
  color: var(--sc-soft);
  font-size: .72rem;
  line-height: 1.3;
}

.menu-share-thing[data-set-aside] {
  opacity: .6;
}

.menu-share-none {
  color: var(--sc-mute);
  font-size: .74rem;
}

.menu-share-reading, .menu-share-to-none {
  color: var(--sc-soft);
  margin: 0;
  font-size: .74rem;
  line-height: 1.35;
}

.menu-share-to {
  flex-wrap: wrap;
  align-items: center;
  gap: .3rem;
  display: flex;
}

.menu-share-to-lead {
  color: var(--sc-mute);
  font: 400 .72rem/1.2 var(--sc-sans);
}

.menu-share button.menu-share-who[aria-checked="true"] {
  border-color: var(--here-line);
  color: var(--sc-ink);
  background: oklch(40% .02 120 / .25);
}

.menu-share-note, input.menu-share-who {
  box-sizing: border-box;
  min-height: var(--control-h);
  border-radius: var(--r-box);
  color: var(--sc-ink);
  font: inherit;
  background: oklch(0% 0 0 / .25);
  border: 1px solid oklch(40% .02 120 / .6);
  padding: .3rem .5rem;
}

.menu-share-refused {
  color: var(--here-warm);
  margin: 0;
  font-size: .74rem;
  line-height: 1.35;
}

.menu-share-sent {
  color: var(--sc-ink);
  margin: 0;
  font-size: .78rem;
  line-height: 1.35;
}

.menu-share .menu-share-send {
  border-color: var(--here-warm);
  color: var(--here-warm);
}

.menu-share .menu-share-send[aria-disabled="true"] {
  color: var(--sc-mute);
  cursor: default;
  border-color: oklch(40% .02 120 / .6);
}

.menu-aside {
  color: var(--sc-soft);
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  display: flex;
}

.menu-aside button {
  color: var(--sc-soft);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 1px solid oklch(40% .02 120 / .6);
  border-radius: 999px;
  padding: .3rem .7rem;
}

.menu-aside .menu-confirm {
  border-color: var(--here-warm);
  color: var(--here-warm);
}

.menu-stage {
  color: var(--sc-soft);
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  display: flex;
}

.menu-stage button {
  color: var(--sc-soft);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 1px solid oklch(40% .02 120 / .6);
  border-radius: 999px;
  padding: .3rem .7rem;
}

.menu-stage .menu-stage-btn {
  color: var(--sc-mute);
  border-color: #0000;
}

.menu-stage .menu-stage-btn:hover, .menu-stage .menu-stage-btn:focus-visible {
  color: var(--sc-soft);
  border-color: oklch(40% .02 120 / .6);
}

.menu-stage .menu-stage-lead {
  color: var(--sc-mute);
  flex-basis: 100%;
  font-size: .74rem;
  line-height: 1.35;
}

.menu-stage .menu-stage-words {
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  display: flex;
}

.menu-stage .menu-stage-word {
  min-height: 48px;
}

.menu-stage button.menu-stage-word[aria-pressed="true"] {
  border-color: var(--here-line);
  color: var(--sc-ink);
  background: oklch(40% .02 120 / .25);
}

.menu-stage .menu-confirm {
  border-color: var(--here-warm);
  color: var(--here-warm);
}

.menu-on-map {
  color: var(--sc-soft);
  gap: .35rem;
  margin-bottom: .8rem;
  display: grid;
}

.menu-on-map button {
  border-radius: var(--r-pill);
  color: var(--sc-soft);
  font: inherit;
  cursor: pointer;
  text-align: left;
  background: none;
  border: 1px solid oklch(40% .02 120 / .6);
  padding: .3rem .7rem;
}

.menu-on-map button:hover, .menu-on-map button:focus-visible {
  border-color: var(--here-line);
  color: var(--sc-ink);
}

.menu-on-map button:disabled {
  opacity: .45;
  cursor: default;
}

.menu-on-map-btn {
  align-items: center;
  gap: .4rem;
  display: inline-flex;
}

.menu-on-map-glyph {
  color: var(--here-line);
}

.menu-add-file {
  color: var(--sc-soft);
  gap: .35rem;
  margin-bottom: .8rem;
  display: grid;
}

.menu-add-file-btn {
  border-radius: var(--r-pill);
  min-height: 2.25rem;
  color: var(--sc-soft);
  font: inherit;
  cursor: pointer;
  text-align: left;
  background: none;
  border: 1px solid oklch(40% .02 120 / .6);
  justify-self: start;
  align-items: center;
  gap: .4rem;
  padding: .3rem .7rem;
  display: inline-flex;
}

.menu-add-file-btn:hover, .menu-add-file-btn:focus-visible {
  border-color: var(--here-line);
  color: var(--sc-ink);
}

.menu-add-file-glyph {
  color: var(--here-line);
}

.menu-add-file-lines {
  gap: .15rem;
  display: grid;
}

.menu-add-file-line {
  overflow-wrap: anywhere;
  margin: 0;
  font-size: .85em;
}

.menu-attached {
  color: var(--sc-soft);
  gap: .35rem;
  margin-bottom: .8rem;
  display: grid;
}

.menu-attached-row {
  gap: .25rem;
  display: grid;
}

.menu-attached-row img {
  object-fit: contain;
  border-radius: .3rem;
  justify-self: start;
  max-width: 100%;
  max-height: 8rem;
}

.menu-attached-row audio {
  width: 100%;
}

.menu-attached-row video {
  border-radius: .3rem;
  justify-self: start;
  max-width: 100%;
  max-height: 8rem;
}

.menu-attached-row iframe {
  border: 0;
  border-radius: .3rem;
  max-width: 100%;
}

.menu-attached-page {
  gap: .25rem;
  display: grid;
}

.menu-attached-page-open {
  color: var(--sc-soft);
  text-underline-offset: .15em;
  justify-self: start;
  font-size: .85em;
  text-decoration: underline;
}

.menu-attached-line {
  overflow-wrap: anywhere;
  margin: 0;
  font-size: .85em;
}

.menu-attached-original {
  color: var(--sc-soft);
  text-underline-offset: .15em;
  justify-self: start;
  font-size: .85em;
  text-decoration: underline;
}

.spot-sheet {
  gap: .45rem;
  display: grid;
}

.spot-ways {
  flex-wrap: wrap;
  gap: .3rem;
  display: flex;
}

.spot-now, .spot-got, .spot-said {
  margin: 0;
  font-size: .78rem;
}

.spot-now, .spot-got {
  color: var(--sc-ink);
}

.spot-said, .spot-replaces {
  color: var(--sc-mute);
}

.spot-replaces {
  margin: 0;
  font-size: .74rem;
}

.spot-find {
  grid-template-columns: 1fr auto;
  gap: .3rem;
  display: grid;
}

.spot-find[hidden] {
  display: none;
}

.spot-find-box {
  border-radius: var(--r-control);
  min-width: 0;
  color: var(--sc-ink);
  font: inherit;
  background: oklch(0% 0 0 / .25);
  border: 1px solid oklch(40% .02 120 / .6);
  padding: .3rem .5rem;
}

.spot-find-rows {
  grid-column: 1 / -1;
  gap: .2rem;
  max-height: 9rem;
  display: grid;
  overflow: auto;
}

.spot-acts {
  gap: .3rem;
  display: flex;
}

.spot-keep {
  color: var(--sc-ink) !important;
}

.card-on-map {
  color: var(--sc-soft);
  gap: .4rem;
  margin: .3rem 0 0;
  font-size: .74rem;
  display: flex;
}

.card-on-map-area {
  color: var(--sc-mute);
}

.card-kept {
  color: var(--ground-aside);
  font: var(--ground-aside-font);
  letter-spacing: var(--ground-aside-track);
  overflow-wrap: anywhere;
  margin: .3rem 0 0;
}

.card-kept-place {
  color: inherit;
  font: inherit;
  text-underline-offset: .2em;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

.menu-let-hold-row {
  margin-bottom: .8rem;
  display: grid;
}

.menu-let-hold {
  border-radius: var(--r-pill);
  color: var(--sc-soft);
  font: inherit;
  cursor: pointer;
  text-align: left;
  background: none;
  border: 1px solid oklch(40% .02 120 / .6);
  padding: .3rem .7rem;
}

.menu-let-hold:hover, .menu-let-hold:focus-visible {
  border-color: var(--here-line);
  color: var(--sc-ink);
}

.card-tools {
  display: none;
}

.here-card.is-editing .card-tools {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .5rem;
  display: flex;
}

.here-card.is-editing .card-front {
  border-color: var(--here-warm);
  box-shadow: 0 0 0 3px oklch(80% .08 70 / .12), 0 20px 50px oklch(0% 0 0 / .35);
}

.edit-tools {
  color: var(--sc-mute);
  font: 400 .7rem/1.2 var(--sc-mono);
  align-items: center;
  gap: .3rem;
  display: flex;
}

.edit-tool {
  box-sizing: border-box;
  min-width: var(--control-h);
  min-height: var(--control-h);
  border-radius: var(--r-control);
  background: var(--here-card);
  color: var(--sc-soft);
  font: 600 .85rem/1 var(--sc-sans);
  cursor: pointer;
  border: 1px solid oklch(45% .02 120 / .7);
  padding: 0 .4rem;
}

.edit-tool:hover, .edit-tool:focus-visible {
  color: var(--sc-ink);
  border-color: var(--here-warm);
  outline: none;
}

.edit-commit {
  gap: .4rem;
  display: flex;
}

.desk-ties {
  color: var(--here-card-aside);
  font: 400 .75rem/1.4 var(--sc-mono);
  min-width: 0;
  margin-top: .5rem;
}

.desk-ties > span, .desk-tie > summary {
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
  overflow: hidden;
}

.desk-tie > summary {
  cursor: pointer;
  list-style: none;
}

.desk-tie > summary::-webkit-details-marker {
  display: none;
}

.desk-tie > summary:before {
  content: "› ";
}

.desk-tie-when {
  color: var(--here-card-aside);
}

.desk-ties-more > summary {
  cursor: pointer;
  list-style: none;
  display: block;
}

.desk-ties-more > summary::-webkit-details-marker {
  display: none;
}

.desk-tie-field {
  overflow-wrap: anywhere;
}

.desk-tie-field-name, .desk-tie-fields-more {
  color: var(--here-card-aside);
}

.desk-tie-peek {
  font: 400 .75rem/1.4 var(--sc-mono);
  color: var(--sc-soft);
  white-space: pre-wrap;
  max-height: 6.5rem;
  margin: .25rem 0 .4rem .75rem;
  overflow: auto;
}

.desk-tie-add, .desk-tie-pick, .desk-tie-bring {
  cursor: pointer;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
  overflow: hidden;
}

.desk-tie-add[hidden] {
  display: none;
}

.desk-tie-add:hover, .desk-tie-pick:hover, .desk-tie-bring:hover, .desk-tie-add:focus-visible, .desk-tie-pick:focus-visible, .desk-tie-bring:focus-visible {
  color: var(--sc-ink);
}

.desk-tie-bring {
  margin: -.2rem 0 .4rem .75rem;
}

.desk-tie-pick:before {
  content: "+ ";
}

.desk-tie-find {
  flex-direction: column;
  gap: .2rem;
  margin: .25rem 0 .4rem;
  display: flex;
}

.desk-tie-search {
  color: var(--sc-ink);
  font: inherit;
  background: oklch(0% 0 0 / .25);
  border: 1px solid oklch(40% .02 120 / .6);
  border-radius: 8px;
  min-width: 0;
  padding: .3rem .5rem;
}

.here .ui-press.edit-save {
  border-color: var(--here-warm);
  background: oklch(80% .08 70 / .16);
}

.edit-title, .edit-area, .edit-line, .edit-key, .edit-value {
  box-sizing: border-box;
  border-radius: var(--r-box);
  width: 100%;
  color: var(--sc-ink);
  -webkit-user-select: text;
  user-select: text;
  background: oklch(13% .01 120 / .8);
  border: 1px solid oklch(42% .02 120 / .7);
  outline: none;
  padding: .45rem .6rem;
}

.edit-title {
  font: 400 var(--text-title)/1.2 var(--sc-serif);
}

.here .ui-field-box.edit-title {
  font-size: var(--text-title);
}

.edit-area {
  resize: vertical;
  overscroll-behavior: contain;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  width: 100%;
  min-width: 0;
  min-height: 6rem;
  max-height: none;
  font: 400 .95rem/1.5 var(--sc-serif);
  overflow: auto;
}

.edit-line, .edit-key, .edit-value {
  font: 400 .85rem/1.3 var(--sc-mono);
}

.edit-title:focus, .edit-area:focus, .edit-line:focus, .edit-key:focus, .edit-value:focus, .here .ui-field-box.edit-title:focus, .here .ui-field-box.edit-area:focus, .here .ui-field-box.edit-line:focus {
  border-color: var(--here-warm);
}

.edit-hint {
  color: var(--sc-mute);
  font: 400 .7rem/1.2 var(--sc-mono);
  margin-bottom: .4rem;
  display: block;
}

.edit-fields {
  gap: .3rem;
  display: grid;
}

.edit-row {
  grid-template-columns: 6rem 1fr auto;
  gap: .3rem;
  display: grid;
}

.layer-tiles, .layer-labels, .layer-pins {
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: 0;
}

.layer-under, .layer-pin-lines {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  overflow: visible;
}

.tile {
  opacity: .9;
  filter: invert() hue-rotate(180deg) saturate(.6) brightness(2.2) contrast(.75) brightness(1.3);
  pointer-events: none;
  max-width: none;
  transition: opacity .6s;
  position: absolute;
}

.tile--old {
  opacity: 0;
}

[data-tiles="as-drawn"] .tile {
  filter: none;
}

.layer-tiles {
  transition: opacity .9s, visibility;
}

.here:not(.here--map) .layer-tiles {
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s, visibility 0s linear .5s;
}

.arrangement-ground, .ground-words {
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: 0;
}

.ground-shapes {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  overflow: visible;
}

.ground-region {
  fill: oklch(70% .05 140 / .035);
  stroke: oklch(70% .05 140 / .22);
  stroke-width: 2px;
  stroke-dasharray: 2 10;
  stroke-linecap: round;
}

.ground-region[data-place-size] {
  fill: oklch(70% .05 140 / .07);
  stroke: oklch(72% .06 140 / .4);
  stroke-width: 3px;
  stroke-dasharray: none;
}

.ground-region[data-place-size="medium"] {
  fill: oklch(70% .05 140 / .09);
  stroke: oklch(72% .06 140 / .48);
}

.ground-region[data-place-size="large"] {
  fill: oklch(70% .05 140 / .11);
  stroke: oklch(72% .06 140 / .56);
}

.ground-region[data-place-size="empty"] {
  fill: none;
  stroke: oklch(72% .05 140 / .32);
  stroke-width: 2px;
  stroke-dasharray: 9 11;
}

.ground-word {
  transform: translate(-50%, -50%) scale(var(--k, 1));
  transform-origin: 50%;
  white-space: nowrap;
  color: var(--sc-mute);
  font: 400 13px/1 var(--sc-mono);
  letter-spacing: .16em;
  background: none;
  border: 0;
  padding: .2em .4em;
  position: absolute;
}

button.ground-word {
  cursor: pointer;
}

button.ground-word:hover {
  color: var(--sc-ink);
}

.ground-name {
  color: oklch(72% .05 140 / .85);
  transform: translate(-50%, -50%) scale(var(--k, 1)) translateY(-2.6em);
}

.ground-name[data-on-shape] {
  transform: translate(-50%, -50%) scale(var(--k, 1));
  letter-spacing: .04em;
  white-space: normal;
  text-align: center;
  text-wrap: balance;
  width: max-content;
  max-width: 22ch;
  line-height: 1.25;
}

.ground-name[data-on-shape] .ground-word-text {
  -webkit-line-clamp: 3;
  overflow-wrap: break-word;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.ground-name[data-within] {
  flex-direction: column;
  align-items: center;
  gap: .45em;
  display: flex;
}

.ground-name[data-on-shape] .ground-within {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.ground-within {
  letter-spacing: .1em;
  white-space: nowrap;
  flex-direction: column;
  align-items: center;
  gap: .3em;
  font-size: 11px;
  display: flex;
}

.ground-within-count {
  color: oklch(72% .05 140 / .62);
}

.ground-within-preview {
  color: oklch(72% .05 140 / .42);
  letter-spacing: .06em;
  font-style: italic;
}

.ground-marks {
  transform: translate(-50%, -50%) scale(var(--k, 1)) translateY(var(--mark-lift, 0px));
  transform-origin: 50%;
  gap: 10px;
  display: flex;
  position: absolute;
}

.ground-mark {
  color: oklch(78% .05 140 / .9);
  width: 36px;
  height: 36px;
  font: 400 15px/1 var(--sc-sans);
  cursor: pointer;
  background: oklch(18% .012 125 / .92);
  border: 1px solid oklch(62% .04 140 / .5);
  border-radius: 50%;
  place-items: center;
  padding: 0;
  transition: color .2s, border-color .2s, background .2s;
  display: grid;
}

.ground-mark:hover, .ground-mark:focus-visible {
  color: var(--sc-ink);
  border-color: var(--here-line);
  outline: none;
}

.ground-mark:after {
  content: attr(data-legend);
  color: var(--sc-soft);
  font: 400 .72rem/1 var(--sc-mono);
  letter-spacing: .06em;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s;
  position: absolute;
  top: 50%;
  left: calc(100% + .5rem);
  transform: translateY(-50%);
}

.ground-mark:hover:after, .ground-mark:focus-visible:after, .here--legend .ground-mark:after {
  opacity: 1;
}

.ground-marks[data-around] {
  opacity: .6;
}

.ground-marks[data-around]:hover, .ground-marks[data-around]:focus-within {
  opacity: 1;
}

.ground-region--around {
  opacity: .4;
}

.ground-word--around {
  opacity: .55;
}

.ground-word--around:hover, .ground-word--around:focus-visible {
  opacity: 1;
}

.ground-region[data-tier="near"] {
  stroke-width: 4px;
}

.ground-region[data-tier="far"] {
  opacity: .45;
}

.ground-region[data-tier="far"]:hover {
  opacity: 1;
}

.ground-word[data-tier="far"] {
  opacity: .6;
}

.ground-word[data-tier="far"]:hover, .ground-word[data-tier="far"]:focus-visible {
  opacity: 1;
}

.world-label.around-here {
  color: oklch(72% .05 140 / .62);
  opacity: .6;
  letter-spacing: .2em;
}

.world-label.around-here:hover, .world-label.around-here:focus-visible {
  opacity: 1;
}

.island[data-around] {
  opacity: .55;
}

.island[data-around]:hover, .island[data-around]:focus-visible {
  opacity: 1;
}

.ground-lane {
  color: oklch(72% .05 140 / .8);
  transform: translate(-100%, -50%) scale(var(--k, 1)) translateX(-6.5rem);
  transform-origin: 100%;
}

.ground-lane[data-crowded="true"] {
  visibility: hidden;
}

.ground-tick[data-crowded="true"] {
  color: #0000;
}

.ground-name[data-crowded="true"] .ground-word-text {
  visibility: hidden;
}

.ground-name:not([data-crowded="true"]) {
  z-index: 1;
}

.ground-tick {
  color: oklch(60% .014 95 / .7);
}

.ground-tick:before {
  content: "";
  background: oklch(60% .014 95 / .12);
  width: 1px;
  height: 900px;
  position: absolute;
  top: 1.4em;
  left: 50%;
}

.ground-now {
  color: var(--here-warm);
  font-weight: 600;
}

.ground-now:before {
  background: var(--here-warm);
}

@supports (color: color-mix(in lab, red, red)) {
  .ground-now:before {
    background: color-mix(in oklch, var(--here-warm) 50%, transparent);
  }
}

.thread {
  stroke: oklch(75% .03 110 / .22);
  stroke-width: 1.6px;
  vector-effect: non-scaling-stroke;
}

.thread--lit {
  stroke: var(--here-line);
  stroke-width: 2px;
}

.thread--woven {
  stroke-width: 2.2px;
}

.bridge {
  stroke: oklch(80% .08 70 / .18);
  stroke-width: 1px;
  stroke-dasharray: 3 7;
  vector-effect: non-scaling-stroke;
}

.waypoint {
  stroke: var(--here-warm);
  stroke-width: 2px;
  stroke-dasharray: 5 6;
  vector-effect: non-scaling-stroke;
  opacity: .8;
}

.world-label, .pin {
  transform: translate(-50%, -50%) scale(var(--k, 1));
  transform-origin: 50%;
  white-space: nowrap;
  position: absolute;
}

.world-label {
  color: var(--sc-mute);
  font: 400 var(--ground-label-text)/1 var(--sc-mono);
  letter-spacing: .16em;
  background: none;
  border: 0;
  padding: .2em .4em;
}

button.world-label {
  cursor: pointer;
}

button.world-label:hover {
  color: var(--sc-ink);
}

.island {
  color: var(--here-warm);
  letter-spacing: .1em;
  border: 1px dashed oklch(80% .08 70 / .45);
  border-radius: 999px;
  padding: .55em .9em;
}

.lane-label {
  color: oklch(72% .05 140 / .8);
}

.world-label.lane-label {
  transform: translate(-100%, -50%) scale(var(--k, 1)) translateX(-6.5rem);
  transform-origin: 100%;
}

.pin {
  font: 400 var(--ground-label-text)/1 var(--sc-mono);
  color: var(--ground-ink);
  cursor: pointer;
  --pin: var(--here-warm);
  background: none;
  border: 0;
  align-items: center;
  gap: .35em;
  margin: 0;
  padding: 0;
  display: flex;
}

.pin:focus-visible .pin-icon, .pin:hover .pin-icon {
  box-shadow: 0 0 0 3px oklch(80% .08 70 / .35);
}

.pin-icon {
  border: 1.5px solid var(--pin);
  background: oklch(18% .012 125 / .9);
  border-radius: 50% 50% 50% 0;
  place-items: center;
  width: 1.9em;
  height: 1.9em;
  font-size: 1.05em;
  line-height: 1;
  display: grid;
  transform: rotate(-45deg);
}

.pin-label {
  border-radius: var(--r-tag);
  background: var(--ground-tag-fill);
  color: var(--ground-aside);
  letter-spacing: .04em;
  padding: .2em .45em;
}

.here:not(.here--legend) .pin-label {
  opacity: .85;
}

.here-hud {
  pointer-events: none;
  font: 400 .75rem/1.2 var(--sc-mono);
  color: var(--sc-mute);
  z-index: 5;
  position: absolute;
  inset: 0;
}

.here-hud > * {
  pointer-events: auto;
}

.here-dock {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  opacity: .55;
  background: oklch(15% .01 120 / .55);
  border-radius: 999px;
  justify-items: center;
  gap: .35rem;
  padding: .5rem .35rem;
  transition: opacity .4s;
  display: grid;
  position: absolute;
  top: 50%;
  right: .9rem;
  transform: translateY(-50%);
}

.here-dock:hover, .here-dock:focus-within, .here--legend .here-dock {
  opacity: 1;
}

.dock-group {
  gap: .25rem;
  display: grid;
}

.dock-rule {
  background: oklch(50% .02 120 / .5);
  width: 1rem;
  height: 1px;
}

.dock-btn {
  width: 2.2rem;
  height: 2.2rem;
  color: var(--sc-soft);
  font: 400 1.05rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 50%;
  padding: 0;
  transition: color .2s, border-color .2s, background .2s;
  position: relative;
}

.dock-btn:hover, .dock-btn:focus-visible {
  color: var(--sc-ink);
  background: oklch(100% 0 0 / .05);
  outline: none;
}

.dock-btn[aria-checked="true"] {
  color: var(--sc-ink);
  border-color: var(--here-line);
}

.dock-toggle[aria-pressed="false"] {
  color: oklch(50% .01 110);
}

.dock-toggle[aria-pressed="true"] {
  color: var(--here-line);
}

.dock-popout[aria-expanded="true"] {
  border-color: var(--here-warm);
  color: var(--here-warm);
}

.dock-btn:after {
  content: attr(data-legend);
  color: var(--sc-soft);
  font: 400 .72rem/1 var(--sc-mono);
  letter-spacing: .06em;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s;
  position: absolute;
  top: 50%;
  right: calc(100% + .7rem);
  transform: translateY(-50%);
}

.dock-btn:hover:after, .dock-btn:focus-visible:after, .here--legend .dock-btn:after {
  opacity: 1;
}

.dock-arrange {
  place-items: center;
  display: none;
}

.dock-arrange-tri {
  color: var(--sc-soft);
  font: 400 .55rem/1 var(--sc-sans);
  position: absolute;
  top: .15rem;
  left: 50%;
  transform: translateX(-50%);
}

.dock-arrange-glyph {
  line-height: 1;
}

.rail-panel {
  z-index: 6;
  box-sizing: border-box;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  width: min(17rem, 100% - 6rem);
  font: 400 .8rem/1.3 var(--sc-sans);
  color: var(--sc-soft);
  background: oklch(16% .012 125 / .94);
  border: 1px solid oklch(42% .03 130 / .55);
  border-radius: 14px;
  gap: .45rem;
  padding: .7rem .75rem;
  animation: .35s cubic-bezier(.16, 1, .3, 1) rail-slide;
  display: grid;
  position: absolute;
  top: 50%;
  right: 4rem;
  transform: translateY(-50%);
  box-shadow: 0 18px 50px oklch(0% 0 0 / .45);
}

.rail-panel[hidden] {
  display: none;
}

@keyframes rail-slide {
  from {
    opacity: 0;
    transform: translate(.5rem, -50%);
  }

  to {
    opacity: 1;
    transform: translate(0, -50%);
  }
}

@keyframes rail-rise {
  from {
    opacity: 0;
    transform: translateY(.5rem);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.rail-panel-head {
  justify-content: space-between;
  align-items: baseline;
  gap: .6rem;
  display: flex;
}

.rail-panel-heading {
  color: var(--sc-ink);
  font: 400 .95rem/1.2 var(--sc-serif);
}

.rail-panel-close {
  color: var(--sc-mute);
  font: 400 1rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0 .2rem;
}

.rail-panel-close:hover, .rail-panel-close:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.rail-panel-lead {
  color: var(--sc-mute);
  margin: 0;
  font-size: .7rem;
}

.here-window-head {
  justify-content: flex-end;
  margin: -.35rem -.45rem 0 0;
  display: flex;
}

.here-window-close {
  width: 1.9rem;
  height: 1.9rem;
  color: var(--sc-mute);
  font: 400 1.1rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 50%;
}

.here-window-close:hover, .here-window-close:focus-visible {
  color: var(--sc-ink);
  background: oklch(100% 0 0 / .05);
  outline: none;
}

.rail-panel-rows {
  gap: .1rem;
  display: grid;
}

.rail-row {
  color: var(--sc-soft);
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 8px;
  grid-template-columns: 1.4rem 1fr;
  align-items: baseline;
  gap: .1rem .5rem;
  padding: .4rem .45rem;
  transition: color .2s, background .2s, border-color .2s;
  display: grid;
}

.rail-row:hover, .rail-row:focus-visible {
  color: var(--sc-ink);
  background: oklch(100% 0 0 / .05);
  outline: none;
}

.rail-row-glyph {
  color: var(--sc-mute);
  font: 400 .95rem/1.2 var(--sc-sans);
  text-align: center;
}

.rail-row-name {
  color: inherit;
}

.rail-row-note {
  color: var(--sc-mute);
  grid-column: 2;
  font-size: .68rem;
}

.rail-row--phone {
  display: none;
}

.rail-row--toggle[aria-pressed="true"] {
  color: var(--sc-ink);
  border-color: var(--here-line);
}

.rail-row--toggle[aria-pressed="true"] .rail-row-glyph {
  color: var(--here-line);
}

.rail-row--toggle[aria-pressed="false"] .rail-row-glyph {
  color: oklch(50% .01 110);
}

.here-foot {
  flex-direction: row-reverse;
  align-items: center;
  gap: .7rem;
  display: flex;
  position: absolute;
  bottom: 1rem;
  right: 1.1rem;
}

.here-add {
  min-height: 3rem;
  color: var(--sc-ink);
  font: 400 1rem/1 var(--sc-sans);
  cursor: pointer;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background: oklch(17% .012 125 / .8);
  border: 1px solid oklch(60% .04 140 / .6);
  border-radius: 999px;
  align-items: center;
  gap: .4rem;
  padding: 0 1.15rem 0 .95rem;
  transition: transform .3s cubic-bezier(.16, 1, .3, 1), border-color .2s;
  display: inline-flex;
  position: relative;
}

.here-add-glyph {
  font: 300 1.5rem/1 var(--sc-sans);
}

.here-add:hover, .here-add:focus-visible {
  border-color: var(--here-line);
  outline: none;
  transform: scale(1.06);
}

.here-foot .here-foot-pair {
  box-sizing: border-box;
  width: 3rem;
  min-width: 3rem;
  height: 3rem;
  min-height: 3rem;
  color: var(--sc-ink);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background: oklch(17% .012 125 / .8);
  border: 1px solid oklch(60% .04 140 / .6);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  gap: 0;
  padding: 0;
  transition: transform .3s cubic-bezier(.16, 1, .3, 1), border-color .2s;
  display: inline-flex;
}

.here-foot .here-foot-pair:hover, .here-foot .here-foot-pair:focus-visible {
  color: var(--sc-ink);
  border-color: var(--here-line);
  background: oklch(19% .014 125 / .85);
  outline: none;
  transform: scale(1.06);
}

.here-foot .dock-ask {
  font: 400 1.4rem/1 var(--sc-sans);
}

.here-foot .dock-ask[aria-pressed="true"] {
  color: var(--here-warm);
  border-color: var(--here-warm);
}

.here-foot .dock-btn:after {
  white-space: normal;
  text-align: right;
  width: max-content;
  max-width: calc(100vw - 2.4rem);
  line-height: 1.2;
  inset: auto 0 calc(100% + .6rem) auto;
  transform: none;
}

.here-capture[hidden] {
  display: none;
}

.here-capture {
  box-sizing: border-box;
  overscroll-behavior: contain;
  background: oklch(17% .012 125);
  border: 1px solid oklch(45% .03 130 / .6);
  border-radius: 16px;
  grid-template-columns: minmax(0, 1fr);
  gap: .6rem;
  max-height: 100%;
  padding: .9rem;
  animation: .45s cubic-bezier(.16, 1, .3, 1) here-rise;
  display: grid;
  overflow-y: auto;
  box-shadow: 0 20px 60px oklch(0% 0 0 / .5);
}

.capture-title {
  box-sizing: border-box;
  width: 100%;
  color: var(--sc-ink);
  font: 400 1.3rem/1.3 var(--sc-serif);
  -webkit-user-select: text;
  user-select: text;
  background: none;
  border: 0;
  outline: none;
  padding: 0;
}

.capture-text {
  box-sizing: border-box;
  resize: vertical;
  width: 100%;
  min-height: 2.6rem;
  max-height: 40vh;
  color: var(--sc-soft);
  font: 400 1rem/1.45 var(--sc-serif);
  -webkit-user-select: text;
  user-select: text;
  background: none;
  border: 0;
  border-top: 1px solid oklch(40% .02 120 / .5);
  outline: none;
  padding: .5rem 0 0;
  overflow-y: auto;
}

.capture-title::placeholder, .capture-text::placeholder {
  color: var(--sc-mute);
}

.capture-unfinished {
  color: var(--sc-mute);
  font: 400 .75rem/1.2 var(--sc-sans);
  text-underline-offset: .2em;
  cursor: pointer;
  background: none;
  border: 0;
  align-self: flex-start;
  padding: 0;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

.capture-unfinished:hover, .capture-unfinished:focus-visible {
  color: var(--sc-ink);
}

.capture-kept {
  color: var(--sc-mute);
  font-size: .75rem;
}

.capture-kept:empty {
  display: none;
}

.capture-write {
  border: 1px solid var(--here-line);
  color: var(--sc-ink);
  font: 400 .75rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border-radius: 999px;
  margin-left: .4rem;
  padding: .2rem .7rem;
}

.capture-ink {
  border: 1px dashed var(--here-line);
  border-radius: var(--r-pill);
  color: var(--sc-ink);
  font: 400 .75rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  margin-left: .4rem;
  padding: .2rem .7rem;
}

.capture-row {
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  display: flex;
}

.capture-into {
  border: 1px dashed var(--here-line);
  border-radius: var(--r-pill);
  min-width: 0;
  max-width: 45%;
  color: var(--sc-mute);
  font: 400 .7rem/1.2 var(--sc-sans);
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  background: none;
  flex: 0 auto;
  padding: .2rem .6rem;
  overflow: hidden;
}

.capture-into:hover, .capture-into:focus-visible, .capture-into[aria-expanded="true"] {
  color: var(--sc-ink);
}

.capture-into-list {
  flex-direction: column;
  gap: .4rem;
  display: flex;
}

.capture-into-list[hidden] {
  display: none;
}

.capture-into-search {
  box-sizing: border-box;
  border: 1px solid var(--here-line);
  border-radius: var(--r-control);
  width: 100%;
  color: var(--sc-ink);
  font: 400 .8rem/1.2 var(--sc-sans);
  background: none;
  padding: .35rem .6rem;
}

.capture-into-picks {
  flex-wrap: wrap;
  gap: .4rem;
  display: flex;
}

.capture-into-pick {
  border: 1px solid var(--here-line);
  border-radius: var(--r-pill);
  color: var(--sc-ink);
  font: 400 .75rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  padding: .3rem .8rem;
}

.capture-into-none {
  color: var(--sc-mute);
  font-size: .75rem;
}

.capture-reads {
  color: var(--sc-mute);
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  font-size: .7rem;
  overflow: hidden;
}

.capture-here {
  color: var(--sc-soft);
  cursor: pointer;
  align-items: center;
  gap: .3rem;
  display: flex;
}

.capture-cancel, .capture-place, .capture-keep {
  white-space: nowrap;
  font: 400 .8rem/1 var(--sc-sans);
  cursor: pointer;
  border-radius: 999px;
  flex: none;
  padding: .4rem .9rem;
}

.capture-cancel {
  color: var(--sc-soft);
  background: none;
  border: 1px solid oklch(45% .02 120 / .6);
}

.capture-place {
  color: var(--sc-ink);
  background: none;
  border: 1px solid oklch(45% .02 120 / .6);
}

.capture-keep {
  border: 1px solid var(--here-line);
  color: var(--sc-ink);
  background: oklch(72% .05 140 / .18);
  margin-left: auto;
}

@keyframes here-rise {
  from {
    opacity: 0;
    transform: translate(-50%, 1rem);
  }

  to {
    opacity: 1;
    transform: translate(-50%);
  }
}

.here-shelf {
  box-sizing: border-box;
  background: oklch(17% .012 125 / .96);
  border: 1px solid oklch(45% .03 130 / .6);
  border-radius: 16px;
  width: min(26rem, 100% - 2rem);
  padding: .9rem 1rem;
  animation: .45s cubic-bezier(.16, 1, .3, 1) here-rise;
  position: absolute;
  bottom: 5.2rem;
  left: 50%;
  transform: translateX(-50%);
}

.shelf-lead {
  color: var(--sc-mute);
  margin: 0 0 .6rem;
}

.shelf-row {
  color: var(--sc-ink);
  font: 400 1rem/1.3 var(--sc-serif);
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: .35rem 0;
  display: flex;
}

.shelf-row button {
  border: 1px solid var(--here-line);
  color: var(--sc-soft);
  font: 400 .75rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border-radius: 999px;
  padding: .3rem .7rem;
}

.shelf-row .shelf-let-go {
  color: var(--sc-mute);
  border-color: #0000;
}

.shelf-row .shelf-let-go:hover, .shelf-row .shelf-let-go:focus-visible {
  color: var(--sc-soft);
  border-color: var(--here-line);
}

.shelf-row span {
  flex: auto;
}

.shelf-row .shelf-what {
  color: oklch(72% .05 140 / .85);
  font: italic 400 .68rem/1 var(--sc-mono);
  flex: none;
}

.menu-let-go {
  color: var(--sc-soft);
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  display: flex;
}

.menu-let-go button {
  color: var(--sc-soft);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 1px solid oklch(40% .02 120 / .6);
  border-radius: 999px;
  padding: .3rem .7rem;
}

.menu-let-go .menu-let-go-btn {
  color: var(--sc-mute);
  border-color: #0000;
}

.menu-let-go .menu-let-go-btn:hover, .menu-let-go .menu-let-go-btn:focus-visible {
  color: var(--sc-soft);
  border-color: oklch(40% .02 120 / .6);
}

.here-whisper {
  max-width: 80%;
  color: var(--sc-soft);
  font: italic 400 1rem/1.3 var(--sc-serif);
  text-align: center;
  pointer-events: none;
  position: absolute;
  top: 1.1rem;
  left: 50%;
  transform: translateX(-50%);
}

.here-whisper:empty, .here-whisper:has( > .whisper-said:empty) {
  display: none;
}

.whisper-go {
  color: var(--sc-ink);
  font: inherit;
  cursor: pointer;
  pointer-events: auto;
  background: none;
  border: 0;
  border-bottom: 1px solid;
  margin-left: .35em;
  padding: 0;
}

.here-locate {
  z-index: 6;
  max-width: min(28rem, 86vw);
  color: var(--sc-soft);
  text-align: center;
  background: oklch(14% .01 120 / .92);
  border: 1px solid oklch(45% .02 120 / .7);
  border-radius: 14px;
  padding: 1.1rem 1.3rem;
  position: absolute;
  top: 42%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 20px 50px oklch(0% 0 0 / .45);
}

.here-locate[hidden] {
  display: none;
}

.locate-said {
  font: 400 .95rem/1.45 var(--sc-sans);
  margin: 0 0 .8rem;
}

.locate-acts {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .6rem;
  display: flex;
}

.locate-go {
  border: 1px solid var(--here-warm);
  color: var(--sc-ink);
  font: 400 .85rem/1 var(--sc-sans);
  cursor: pointer;
  background: oklch(80% .08 70 / .16);
  border-radius: 999px;
  padding: .4rem .9rem;
}

.locate-go:hover, .locate-go:focus-visible {
  background: oklch(80% .08 70 / .26);
  outline: none;
}

.locate-or, .locate-note {
  color: var(--sc-mute);
  font: 400 .78rem/1.3 var(--sc-mono);
}

.locate-note {
  margin: .7rem 0 0;
}

.here-key {
  z-index: 7;
  max-width: min(32rem, 88vw);
  max-height: 80vh;
  color: var(--sc-soft);
  text-align: left;
  background: oklch(14% .01 120 / .95);
  border: 1px solid oklch(45% .02 120 / .7);
  border-radius: 14px;
  padding: 1.2rem 1.4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  overflow-y: auto;
  transform: translate(-50%, -50%);
  box-shadow: 0 20px 50px oklch(0% 0 0 / .45);
}

.here-key[hidden] {
  display: none;
}

.key-lead {
  color: var(--sc-ink);
  font: 500 .95rem/1.3 var(--sc-sans);
  margin-bottom: .7rem;
  display: block;
}

.here-key p {
  font: 400 .88rem/1.5 var(--sc-sans);
  margin: 0 0 .6rem;
}

.key-two, .key-if-lost {
  color: var(--sc-mute);
  font-size: .82rem;
}

.key-more {
  margin: 0 0 .6rem;
}

.key-more > summary {
  cursor: pointer;
  min-height: 44px;
  color: var(--sc-soft);
  font: 400 .85rem/1.3 var(--sc-sans);
  align-items: center;
  gap: .45rem;
  list-style: none;
  display: flex;
}

.key-more > summary::-webkit-details-marker {
  display: none;
}

.key-more > summary:before {
  content: "›";
  color: var(--here-warm);
  transition: transform .15s;
}

.key-more[open] > summary:before {
  transform: rotate(90deg);
}

.key-more > summary:hover, .key-more > summary:focus-visible {
  color: var(--sc-ink);
  outline: none;
  text-decoration: underline;
}

.key-unlock {
  color: var(--sc-soft);
  border-left: 2px solid oklch(80% .08 70 / .4);
  padding-left: .9rem;
  font-size: .82rem;
}

.key-already {
  color: var(--sc-mute);
  font-size: .82rem;
}

.key-needs, .key-reading {
  color: var(--sc-soft);
}

.key-refused {
  color: oklch(72% .11 35);
  font-size: .85rem;
}

.key-refused[hidden] {
  display: none;
}

.key-made {
  color: var(--sc-ink);
  font-weight: 500;
}

.key-unlocks {
  margin: 0 0 .6rem;
  padding-left: 1.1rem;
  list-style: outside;
}

.key-unlocks > .key-unlock {
  border-left: 0;
  margin: 0 0 .3rem;
  padding-left: 0;
  font-size: .85rem;
}

.key-unlocks > .key-unlock::marker {
  color: var(--here-warm);
}

.key-make {
  border: 1px solid var(--here-warm);
  color: var(--sc-ink);
  font: 400 .88rem/1 var(--sc-sans);
  cursor: pointer;
  background: oklch(80% .08 70 / .18);
  border-radius: 999px;
  margin: .3rem .6rem 0 0;
  padding: .45rem 1rem;
}

.key-make:hover:not(:disabled), .key-make:focus-visible {
  background: oklch(80% .08 70 / .3);
  outline: none;
}

.key-done {
  border: 1px solid var(--here-warm);
  border-radius: var(--r-pill);
  color: var(--sc-ink);
  font: 400 .88rem/1 var(--sc-sans);
  cursor: pointer;
  background: oklch(80% .08 70 / .18);
  margin: .3rem .6rem 0 0;
  padding: .45rem 1rem;
}

.key-done:hover, .key-done:focus-visible {
  background: oklch(80% .08 70 / .3);
  outline: none;
}

.key-make:disabled {
  opacity: .6;
  cursor: default;
}

.key-close {
  color: var(--sc-mute);
  font: 400 .82rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 999px;
  padding: .45rem .9rem;
}

.key-close:hover, .key-close:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.key-acts {
  background: oklch(14% .01 120 / .95);
  padding-top: .4rem;
  position: sticky;
  bottom: 0;
}

.here-backup {
  z-index: 7;
  box-sizing: border-box;
  width: min(28rem, 88vw);
  max-height: 80vh;
  color: var(--sc-soft);
  text-align: left;
  background: oklch(14% .01 120 / .95);
  border: 1px solid oklch(45% .02 120 / .7);
  border-radius: 14px;
  padding: 1.2rem 1.4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  overflow-y: auto;
  transform: translate(-50%, -50%);
  box-shadow: 0 20px 50px oklch(0% 0 0 / .45);
}

.here-backup[hidden] {
  display: none;
}

.backup-lead {
  color: var(--sc-ink);
  font: 500 .95rem/1.3 var(--sc-sans);
  margin-bottom: .7rem;
  display: block;
}

.here-backup p {
  font: 400 .88rem/1.5 var(--sc-sans);
  margin: 0 0 .6rem;
}

.backup-when {
  color: var(--sc-ink);
}

.backup-size, .backup-failed, .backup-destination, .backup-two {
  color: var(--sc-mute);
  font-size: .82rem;
}

.backup-travels {
  border-left: 2px solid oklch(80% .08 70 / .4);
  padding-left: .9rem;
}

.backup-needs, .backup-reading {
  color: var(--sc-soft);
}

.backup-refused {
  color: oklch(72% .11 35);
  font-size: .85rem;
}

.backup-refused[hidden] {
  display: none;
}

.backup-saved {
  color: var(--sc-ink);
  font-weight: 500;
}

.backup-download {
  border: 1px solid var(--here-warm);
  min-height: 44px;
  color: var(--sc-ink);
  font: 400 .88rem/1 var(--sc-sans);
  cursor: pointer;
  background: oklch(80% .08 70 / .18);
  border-radius: 999px;
  margin: .3rem .6rem 0 0;
  padding: .55rem 1.1rem;
}

.backup-download:hover:not(:disabled), .backup-download:focus-visible {
  background: oklch(80% .08 70 / .3);
  outline: none;
}

.backup-download:disabled {
  opacity: .6;
  cursor: default;
}

.backup-close {
  min-height: 44px;
  color: var(--sc-mute);
  font: 400 .82rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 999px;
  padding: .55rem .9rem;
}

.backup-close:hover, .backup-close:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.here-connect {
  z-index: 7;
  max-width: min(32rem, 88vw);
  max-height: 80vh;
  color: var(--sc-soft);
  text-align: left;
  background: oklch(14% .01 120 / .95);
  border: 1px solid oklch(45% .02 120 / .7);
  border-radius: 14px;
  padding: 1.2rem 1.4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  overflow-y: auto;
  transform: translate(-50%, -50%);
  box-shadow: 0 20px 50px oklch(0% 0 0 / .45);
}

.here-connect[hidden] {
  display: none;
}

.connect-lead, .connect-met-lead {
  color: var(--sc-ink);
  font: 500 .95rem/1.3 var(--sc-sans);
  margin-bottom: .7rem;
  display: block;
}

.connect-met-lead {
  border-top: 1px solid oklch(45% .02 120 / .5);
  margin-top: 1.1rem;
  padding-top: .9rem;
}

.here-connect p {
  font: 400 .88rem/1.5 var(--sc-sans);
  margin: 0 0 .6rem;
}

.connect-they-redeem, .connect-runs-out {
  color: var(--sc-mute);
  font-size: .82rem;
}

.connect-needs, .connect-reading, .connect-met-needs, .connect-met-none {
  color: var(--sc-soft);
  font-size: .85rem;
}

.connect-claim {
  color: var(--sc-mute);
  font: 400 .78rem/1.4 var(--sc-sans);
  margin: .9rem 0 .2rem;
  display: block;
}

.connect-name {
  width: 100%;
  color: var(--sc-ink);
  font: 400 .88rem/1.3 var(--sc-sans);
  background: oklch(10% .01 120 / .7);
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 8px;
  margin-top: .3rem;
  padding: .4rem .6rem;
  display: block;
}

.connect-refused {
  color: oklch(72% .11 35);
  font-size: .85rem;
}

.connect-refused[hidden] {
  display: none;
}

.connect-made {
  color: var(--sc-ink);
  font-weight: 500;
}

.connect-token {
  resize: vertical;
  width: 100%;
  color: var(--sc-ink);
  font: 400 .78rem/1.5 var(--sc-mono);
  overflow-wrap: anywhere;
  background: oklch(10% .01 120 / .7);
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 8px;
  margin: .3rem 0 .6rem;
  padding: .5rem .6rem;
  display: block;
}

.connect-copied {
  color: var(--sc-mute);
  font-size: .8rem;
}

.connect-copied[hidden] {
  display: none;
}

.connect-invite, .connect-copy {
  border: 1px solid var(--here-warm);
  color: var(--sc-ink);
  font: 400 .88rem/1 var(--sc-sans);
  cursor: pointer;
  background: oklch(80% .08 70 / .18);
  border-radius: 999px;
  margin: .3rem .6rem 0 0;
  padding: .45rem 1rem;
}

.connect-invite:hover:not(:disabled), .connect-invite:focus-visible, .connect-copy:hover, .connect-copy:focus-visible {
  background: oklch(80% .08 70 / .3);
  outline: none;
}

.connect-invite:disabled {
  opacity: .6;
  cursor: default;
}

.connect-close {
  color: var(--sc-mute);
  font: 400 .82rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 999px;
  padding: .45rem .9rem;
}

.connect-close:hover, .connect-close:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.connect-met-row {
  align-items: baseline;
  gap: .6rem;
  padding: .25rem 0;
  display: flex;
}

.connect-met-name {
  color: var(--sc-ink);
  font: 400 .88rem/1.4 var(--sc-sans);
}

.connect-met-how {
  color: var(--sc-mute);
  font: 400 .78rem/1.4 var(--sc-sans);
}

.here-admit {
  z-index: 7;
  max-width: min(32rem, 88vw);
  max-height: 80vh;
  color: var(--sc-soft);
  text-align: left;
  background: oklch(14% .01 120 / .95);
  border: 1px solid oklch(45% .02 120 / .7);
  border-radius: 14px;
  padding: 1.2rem 1.4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  overflow-y: auto;
  transform: translate(-50%, -50%);
  box-shadow: 0 20px 50px oklch(0% 0 0 / .45);
}

.here-admit[hidden] {
  display: none;
}

.admit-lead {
  color: var(--sc-ink);
  font: 500 .95rem/1.3 var(--sc-sans);
  margin-bottom: .7rem;
  display: block;
}

.here-admit p {
  font: 400 .88rem/1.5 var(--sc-sans);
  margin: 0 0 .6rem;
}

.admit-destination, .admit-decides, .admit-runs-out {
  color: var(--sc-mute);
  font-size: .82rem;
}

.admit-needs, .admit-reading, .admit-elevated {
  color: var(--sc-soft);
  font-size: .85rem;
}

.admit-invitation, .admit-call {
  color: var(--sc-mute);
  font: 400 .78rem/1.4 var(--sc-sans);
  margin: .9rem 0 .2rem;
  display: block;
}

.admit-paste {
  resize: vertical;
  width: 100%;
  color: var(--sc-ink);
  font: 400 .78rem/1.5 var(--sc-mono);
  overflow-wrap: anywhere;
  background: oklch(10% .01 120 / .7);
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 8px;
  margin-top: .3rem;
  padding: .5rem .6rem;
  display: block;
}

.admit-call-them {
  width: 100%;
  color: var(--sc-ink);
  font: 400 .88rem/1.3 var(--sc-sans);
  background: oklch(10% .01 120 / .7);
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 8px;
  margin-top: .3rem;
  padding: .4rem .6rem;
  display: block;
}

.admit-refused {
  color: oklch(72% .11 35);
  font-size: .85rem;
}

.admit-refused[hidden] {
  display: none;
}

.admit-made {
  color: var(--sc-ink);
  font-weight: 500;
}

.admit-who {
  margin: .3rem 0 .7rem;
}

.admit-who-name {
  color: var(--sc-ink);
  font: 500 1rem/1.35 var(--sc-sans);
  display: block;
}

.admit-who-claimed {
  color: var(--sc-mute);
  font: 400 .78rem/1.45 var(--sc-sans);
  display: block;
}

.admit-look, .admit-take {
  border: 1px solid var(--here-warm);
  color: var(--sc-ink);
  font: 400 .88rem/1 var(--sc-sans);
  cursor: pointer;
  background: oklch(80% .08 70 / .18);
  border-radius: 999px;
  margin: .3rem .6rem 0 0;
  padding: .45rem 1rem;
}

.admit-look:hover:not(:disabled), .admit-look:focus-visible, .admit-take:hover:not(:disabled), .admit-take:focus-visible {
  background: oklch(80% .08 70 / .3);
  outline: none;
}

.admit-look:disabled, .admit-take:disabled {
  opacity: .6;
  cursor: default;
}

.admit-close {
  color: var(--sc-mute);
  font: 400 .82rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 999px;
  padding: .45rem .9rem;
}

.admit-close:hover, .admit-close:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.here-arriving {
  z-index: 7;
  max-width: min(32rem, 88vw);
  max-height: 80vh;
  color: var(--sc-soft);
  text-align: left;
  background: oklch(14% .01 120 / .95);
  border: 1px solid oklch(45% .02 120 / .7);
  border-radius: 14px;
  padding: 1.2rem 1.4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  overflow-y: auto;
  transform: translate(-50%, -50%);
  box-shadow: 0 20px 50px oklch(0% 0 0 / .45);
}

.here-arriving[hidden] {
  display: none;
}

.arriving-lead {
  color: var(--sc-ink);
  font: 500 .95rem/1.3 var(--sc-sans);
  margin-bottom: .7rem;
  display: block;
}

.here-arriving p {
  font: 400 .88rem/1.5 var(--sc-sans);
  margin: 0 0 .6rem;
}

.arriving-nothing-taken-in, .arriving-where-you-decide {
  color: var(--sc-mute);
  font-size: .82rem;
}

.arriving-needs, .arriving-reading, .arriving-list-needs, .arriving-none {
  color: var(--sc-soft);
  font-size: .85rem;
}

.arriving-row {
  border-top: 1px solid oklch(45% .02 120 / .5);
  flex-wrap: wrap;
  align-items: baseline;
  gap: .6rem;
  padding: .35rem 0;
  display: flex;
}

.arriving-what {
  color: var(--sc-ink);
  font: 400 .88rem/1.4 var(--sc-sans);
}

.here-arriving .arriving-from {
  color: var(--sc-soft);
  flex-basis: 100%;
  margin: 0;
  font-size: .82rem;
}

.arriving-when {
  color: var(--sc-mute);
  font: 400 .78rem/1.4 var(--sc-mono);
  margin-left: auto;
}

.arriving-close {
  color: var(--sc-mute);
  font: 400 .82rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 999px;
  margin-top: .9rem;
  padding: .45rem .9rem;
}

.arriving-close:hover, .arriving-close:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.arriving-again {
  color: var(--sc-mute);
  font: italic 400 .78rem/1.4 var(--sc-sans);
}

.arriving-standing {
  flex-basis: 100%;
}

.here-arriving .arriving-standing-line {
  color: var(--sc-soft);
  margin: 0 0 .2rem;
  font-size: .82rem;
}

.here-arriving .arriving-cannot {
  color: var(--sc-mute);
  flex-basis: 100%;
  font-size: .82rem;
}

.arriving-choices {
  flex-basis: 100%;
  gap: .5rem;
  display: flex;
}

.arriving-choices[hidden] {
  display: none;
}

.arriving-sheet {
  flex-basis: 100%;
}

.arriving-sheet:empty {
  display: none;
}

.here-arriving .arriving-sheet p {
  font-size: .84rem;
}

.here-arriving .arriving-refused {
  color: oklch(72% .11 35);
}

.here-arriving .arriving-said {
  color: var(--sc-soft);
  flex-basis: 100%;
  font-size: .84rem;
}

.arriving-take, .arriving-leave, .arriving-take-confirm, .arriving-leave-confirm, .arriving-sheet-close {
  color: var(--sc-soft);
  font: 400 .8rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 999px;
  padding: .35rem .8rem;
}

.arriving-take-confirm, .arriving-leave-confirm {
  border-color: var(--here-warm);
  color: var(--sc-ink);
  background: oklch(80% .08 70 / .18);
  margin-right: .5rem;
}

.arriving-take:hover, .arriving-leave:hover, .arriving-sheet-close:hover, .arriving-take:focus-visible, .arriving-leave:focus-visible, .arriving-sheet-close:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.arriving-take-confirm:disabled, .arriving-leave-confirm:disabled {
  opacity: .6;
  cursor: default;
}

.here-waiting {
  z-index: 4;
  color: var(--sc-soft);
  font: 400 .78rem/1.3 var(--sc-sans);
  cursor: pointer;
  pointer-events: auto;
  background: oklch(14% .01 120 / .82);
  border: 1px solid oklch(60% .06 70 / .45);
  border-radius: 999px;
  padding: .3rem .8rem;
  position: absolute;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
}

.here-waiting[hidden] {
  display: none;
}

.here-waiting:hover, .here-waiting:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.here-ask {
  z-index: 4;
  border-radius: var(--r-box);
  width: fit-content;
  max-width: 36rem;
  color: var(--sc-soft);
  font: 400 .78rem/1.3 var(--sc-sans);
  text-align: center;
  cursor: pointer;
  pointer-events: auto;
  background: oklch(14% .01 120 / .82);
  border: 1px solid oklch(60% .06 70 / .35);
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: .2rem .5rem;
  margin-inline: auto;
  padding: .35rem .9rem;
  display: flex;
  position: absolute;
  top: 3.4rem;
  left: 1rem;
  right: 1rem;
}

.here-ask[hidden] {
  display: none;
}

.here-ask:hover .here-ask-said, .here-ask:focus-visible .here-ask-said {
  color: var(--sc-ink);
}

.here-ask:focus-visible {
  outline: none;
}

.here-ask-press {
  color: var(--sc-ink);
  font: inherit;
  text-underline-offset: .18em;
  cursor: pointer;
  background: none;
  border: 0;
  padding: .1rem .2rem;
  text-decoration: underline;
}

.here-ask-more {
  color: var(--sc-soft);
  opacity: .75;
}

.here-ask-press.here-ask-more {
  color: var(--sc-soft);
}

.here-ask-more[aria-expanded="true"] {
  opacity: 1;
  color: var(--sc-ink);
}

.here-ask-list {
  left: 1rem;
  right: 1rem;
  top: var(--ask-list-top, 6rem);
  z-index: 5;
  box-sizing: border-box;
  max-width: 36rem;
  max-height: calc(100% - var(--ask-list-top, 6rem) - 1rem);
  overscroll-behavior: contain;
  border-radius: var(--r-box);
  color: var(--sc-soft);
  font: 400 .8rem/1.3 var(--sc-sans);
  pointer-events: auto;
  background: oklch(14% .01 120 / .95);
  border: 1px solid oklch(60% .06 70 / .35);
  gap: .1rem;
  margin-inline: auto;
  padding: .5rem .75rem .6rem;
  display: grid;
  position: absolute;
  overflow-y: auto;
  box-shadow: 0 18px 50px oklch(0% 0 0 / .45);
}

.here-ask-list[hidden] {
  display: none;
}

.here-ask-list-head {
  justify-content: space-between;
  align-items: center;
  gap: .6rem;
  display: flex;
}

.here-ask-list-heading {
  color: var(--sc-ink);
  font: 400 .95rem/1.2 var(--sc-serif);
}

.here-ask-row {
  border-top: 1px solid oklch(45% .02 120 / .5);
  flex-wrap: wrap;
  align-items: baseline;
  gap: .1rem .5rem;
  padding: .4rem 0;
  display: flex;
}

.here-ask-row-title {
  color: var(--sc-ink);
}

.here-ask-row-said {
  color: var(--sc-mute);
  font-size: .75rem;
}

.here-ask-row-answers {
  gap: .3rem;
  margin-left: auto;
  display: flex;
}

.here-ask-row .here-ask-press {
  border: 1px solid #0000;
  border-radius: .3rem;
}

.here-ask-row .here-ask-press[aria-pressed="false"] {
  opacity: .6;
}

.here-ask-row .here-ask-press[aria-pressed="true"] {
  opacity: 1;
  color: var(--sc-ink);
  border-color: var(--here-warm);
  background: oklch(80% .08 70 / .14);
  text-decoration: none;
}

.here-ask-list-foot {
  border-top: 1px solid oklch(45% .02 120 / .5);
  justify-content: flex-end;
  padding-top: .5rem;
  display: flex;
}

.here-ask-press.here-ask-settle {
  color: var(--sc-ink);
  border: 1px solid var(--here-warm);
  border-radius: .3rem;
  padding: .35rem .8rem;
  text-decoration: none;
}

.here-ask-press:disabled {
  opacity: .5;
  cursor: default;
}

.here-since {
  z-index: 4;
  border-radius: var(--r-box);
  width: fit-content;
  max-width: 36rem;
  color: var(--sc-soft);
  font: 400 .78rem/1.3 var(--sc-sans);
  text-align: center;
  pointer-events: auto;
  background: oklch(14% .01 120 / .82);
  border: 1px solid oklch(60% .06 70 / .35);
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: .2rem .3rem;
  margin-inline: auto;
  padding: .35rem .9rem;
  display: flex;
  position: absolute;
  top: 5.6rem;
  left: 1rem;
  right: 1rem;
}

.here-since[hidden] {
  display: none;
}

.here-since-go {
  flex-wrap: inherit;
  justify-content: center;
  align-items: baseline;
  gap: inherit;
  min-width: 0;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
  display: flex;
}

.here-since-go:hover .here-ask-said, .here-since-go:focus-visible .here-ask-said {
  color: var(--sc-ink);
}

.here-since-go:focus-visible {
  outline: none;
}

.here-since-close {
  width: 1.4rem;
  min-width: 0;
  height: 1.4rem;
  min-height: 0;
  color: var(--sc-mute);
  font: 400 .95rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 50%;
  flex: none;
  align-self: center;
  margin-right: -.5rem;
}

.here-since-close:hover, .here-since-close:focus-visible {
  color: var(--sc-ink);
  background: oklch(100% 0 0 / .05);
  outline: none;
}

.place.here-item[data-fresh="true"][data-lod="far"] .place-far:before {
  box-shadow: 0 0 0 2px var(--here-warm);
}

@supports (color: color-mix(in lab, red, red)) {
  .place.here-item[data-fresh="true"][data-lod="far"] .place-far:before {
    box-shadow: 0 0 0 2px color-mix(in oklch, var(--here-warm) 55%, transparent);
  }
}

.here-known {
  z-index: 7;
  max-width: min(32rem, 88vw);
  max-height: 80vh;
  color: var(--sc-soft);
  text-align: left;
  background: oklch(14% .01 120 / .95);
  border: 1px solid oklch(45% .02 120 / .7);
  border-radius: 14px;
  padding: 1.2rem 1.4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  overflow-y: auto;
  transform: translate(-50%, -50%);
  box-shadow: 0 20px 50px oklch(0% 0 0 / .45);
}

.here-known[hidden] {
  display: none;
}

.known-lead, .known-sent-lead, .known-share-lead {
  color: var(--sc-ink);
  font: 500 .95rem/1.3 var(--sc-sans);
  margin-bottom: .7rem;
  display: block;
}

.here-known p {
  font: 400 .88rem/1.5 var(--sc-sans);
  margin: 0 0 .6rem;
}

.known-name {
  color: var(--sc-ink);
  font: 500 1.05rem/1.3 var(--sc-sans);
}

.known-claimed, .known-met, .known-name-is-yours {
  color: var(--sc-mute);
  font-size: .82rem;
}

.known-claimed {
  font-style: italic;
}

.known-needs, .known-reading, .known-sent-needs, .known-sent-none, .known-sent-more {
  color: var(--sc-soft);
  font-size: .85rem;
}

.known-refused {
  color: var(--here-warm, var(--sc-ink));
  font-size: .85rem;
}

.known-sent-row {
  border-top: 1px solid oklch(45% .02 120 / .5);
  flex-wrap: wrap;
  align-items: baseline;
  gap: .6rem;
  padding: .35rem 0;
  display: flex;
}

.known-sent-what {
  color: var(--sc-soft);
  font: 400 .85rem/1.4 var(--sc-sans);
}

.known-sent-when {
  color: var(--sc-mute);
  font: 400 .78rem/1.4 var(--sc-mono);
  margin-left: auto;
}

.known-call-them {
  color: var(--sc-mute);
  font: 400 .8rem/1.4 var(--sc-sans);
  margin: .4rem 0 .6rem;
  display: block;
}

.known-rename-field {
  width: 100%;
  color: var(--sc-ink);
  font: 400 .9rem/1.3 var(--sc-sans);
  background: oklch(10% .01 120 / .9);
  border: 1px solid oklch(45% .02 120 / .7);
  border-radius: 8px;
  margin-top: .3rem;
  padding: .45rem .6rem;
  display: block;
}

.known-share {
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: .6rem;
  display: flex;
}

.known-rename, .known-share-place, .known-close {
  color: var(--sc-mute);
  font: 400 .82rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 999px;
  margin-top: .3rem;
  padding: .45rem .9rem;
}

.known-rename {
  color: var(--sc-ink);
}

.known-rename:disabled {
  opacity: .6;
  cursor: default;
}

.known-close {
  margin-top: .9rem;
}

.known-rename:hover, .known-rename:focus-visible, .known-share-place:hover, .known-share-place:focus-visible, .known-close:hover, .known-close:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.here-attribution {
  color: oklch(60% .01 110 / .8);
  letter-spacing: .02em;
  pointer-events: none;
  font-size: .6rem;
  position: absolute;
  bottom: .35rem;
  right: .6rem;
}

.here-attribution[hidden] {
  display: none;
}

.here--legend .spatial-address:after {
  content: "  ← where you are";
  color: var(--here-warm);
}

.here-scene {
  z-index: 10;
  background: oklch(13% .01 120);
  position: absolute;
  inset: 0;
}

.here-scene .here-scene-canvas {
  --spatial-height: 100%;
  --spatial-radius: 0;
  height: 100%;
}

.scene-back {
  color: var(--sc-soft, oklch(76% .015 90));
  font: 400 .8rem/1 var(--sc-mono, monospace);
  letter-spacing: .06em;
  cursor: pointer;
  background: oklch(15% .01 120 / .7);
  border: 1px solid oklch(50% .03 130 / .6);
  border-radius: 999px;
  padding: .45rem .9rem;
  position: absolute;
  bottom: 3.2rem;
  left: 1rem;
}

.scene-back:hover {
  color: oklch(93% .015 90);
}

.here-lens {
  z-index: 10;
  background: oklch(13% .01 120);
  position: absolute;
  inset: 0;
}

.here-lens-host {
  height: 100%;
}

.here-lens-host > * {
  --spatial-height: 100%;
  --spatial-radius: 0;
  height: 100%;
}

.here-lens-back {
  z-index: 6;
  color: var(--sc-soft, oklch(76% .015 90));
  font: 400 .8rem/1 var(--sc-mono, monospace);
  letter-spacing: .06em;
  cursor: pointer;
  background: oklch(15% .01 120 / .7);
  border: 1px solid oklch(50% .03 130 / .6);
  border-radius: 999px;
  padding: .45rem .9rem;
  position: absolute;
  bottom: 3.2rem;
  left: 1rem;
}

.here-lens-back:hover {
  color: oklch(93% .015 90);
}

.menu-place-lenses {
  gap: .2rem;
  margin-bottom: .8rem;
  display: grid;
}

@media (max-width: 640px) {
  .here {
    --foot-bar: 4.2rem;
  }

  .here-dock {
    box-sizing: border-box;
    opacity: 1;
    border-radius: 18px;
    grid-template-columns: repeat(5, 1fr);
    place-items: center;
    gap: 0;
    width: auto;
    height: 3.6rem;
    padding: 0;
    display: grid;
    inset: auto .6rem .6rem;
    transform: none;
  }

  .here-dock > .dock-find {
    grid-area: 1 / 1;
  }

  .here-dock > .dock-arrange {
    grid-area: 1 / 2;
    display: grid;
  }

  .here-dock > .dock-popout-tools {
    grid-area: 1 / 5;
  }

  .here-dock > .dock-rule, .here-dock > .dock-popout-legend, .here-dock > .dock-legend {
    display: none;
  }

  .dock-btn {
    width: 3rem;
    height: 3rem;
    font-size: 1.2rem;
  }

  .here-dock > .dock-find {
    font-family: var(--sc-mono);
    font-size: var(--find-size, 1.8rem);
  }

  .here-dock > .dock-arrange {
    color: var(--sc-ink);
    border-color: var(--here-line);
  }

  .here-dock > .dock-arrange[aria-expanded="true"] {
    border-color: var(--here-warm);
  }

  .here-foot {
    grid-template-columns: 1fr 1fr;
    place-items: center;
    gap: 0;
    width: calc(40% - .48rem);
    height: 3.6rem;
    display: grid;
    bottom: .6rem;
    left: calc(40% + .12rem);
    right: auto;
  }

  .here-foot .here-foot-primary {
    border-radius: 50%;
    width: 3rem;
    min-width: 3rem;
    height: 3rem;
    padding: 0;
    font-size: 1.3rem;
  }

  .here-foot .here-add {
    border-radius: 50%;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    min-height: 3rem;
    padding: 0;
  }

  .here-dock > .dock-group {
    display: none;
  }

  .here-dock[data-arranging] > .dock-group {
    box-sizing: border-box;
    border-radius: var(--r-sheet);
    background: oklch(16% .012 125 / .96);
    border: 1px solid oklch(42% .03 130 / .55);
    gap: .1rem;
    min-width: 13rem;
    padding: .4rem;
    animation: .35s cubic-bezier(.16, 1, .3, 1) rail-rise;
    display: grid;
    position: absolute;
    bottom: calc(100% + .5rem);
    left: 0;
    box-shadow: 0 18px 50px oklch(0% 0 0 / .45);
  }

  .here--legend .dock-btn {
    border-radius: 10px;
  }

  .here-dock > .dock-btn {
    border-radius: 50%;
  }

  .here-dock > .dock-group .dock-btn {
    border-radius: var(--r-control);
    text-align: left;
    justify-content: flex-start;
    align-items: center;
    gap: .8rem;
    width: auto;
    height: 3rem;
    padding: 0 .9rem 0 .7rem;
    display: flex;
  }

  .here-dock > .dock-group .dock-btn[aria-checked="true"] {
    background: oklch(22% .015 125 / .9);
  }

  .here-dock > .dock-group .dock-btn:after {
    opacity: 1;
    color: inherit;
    font: 400 1rem/1 var(--sc-sans);
    letter-spacing: 0;
    position: static;
    transform: none;
  }

  .dock-btn:after {
    inset: auto auto calc(100% + .6rem) 50%;
    transform: translateX(-50%);
  }

  .here-dock > .dock-btn:after, .here-foot .dock-btn:after {
    white-space: normal;
    text-align: center;
    width: 4.4rem;
    font-size: .72rem;
    line-height: 1.15;
    bottom: calc(100% + .5rem);
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }

  .capture-title {
    text-overflow: ellipsis;
  }

  .rail-panel {
    top: auto;
    left: .75rem;
    right: auto;
    bottom: calc(var(--foot-bar) + .5rem);
    width: auto;
    max-width: calc(100vw - 1.5rem);
    max-height: calc(100% - var(--foot-bar) - 1.5rem);
    animation-name: rail-rise;
    overflow-y: auto;
    transform: none;
  }

  .rail-row.rail-row--phone {
    display: grid;
  }

  .here-shelf {
    bottom: calc(var(--foot-bar) + .6rem);
  }

  .here .spatial-foot {
    top: .8rem;
    bottom: auto;
  }

  .here-whisper {
    top: 3.4rem;
  }

  .here-waiting {
    max-width: calc(100% - 2rem);
    top: 6rem;
  }

  .here-ask {
    top: 8.4rem;
  }

  .here-ask-list {
    top: auto;
    bottom: calc(var(--foot-bar) + .5rem);
    max-width: none;
    max-height: calc(100% - 16rem);
    left: .75rem;
    right: .75rem;
  }

  .here-ask-row-answers {
    justify-content: flex-end;
    width: 100%;
    margin-left: 0;
  }

  .here-ask-row .here-ask-press {
    padding: .45rem .5rem;
  }

  .here-since {
    flex-wrap: nowrap;
    max-width: calc(100% - 2rem);
    top: 10.8rem;
  }

  .here-since-go {
    flex-wrap: nowrap;
  }

  .here-since .here-ask-said {
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    overflow: hidden;
  }

  .here-since .here-ask-more {
    white-space: nowrap;
    flex: none;
  }

  .here .spatial-progress {
    display: none;
  }

  .place.here-item .place-near {
    width: max(24ch, min(22rem, 80cqw));
  }

  .card-tray {
    flex-direction: row;
    top: calc(100% + 1.4rem);
    left: 0;
  }

  .card-chips {
    flex-direction: row;
    top: calc(100% + 1.4rem);
    right: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .card-face, .edge-mark, .card-tray, .card-chips {
    transition-duration: 10ms;
  }

  .here-capture, .here-shelf, .rail-panel {
    animation: none;
  }
}

.spatial--reduced .card-face {
  transition-duration: 10ms;
}

.layer-under, .layer-labels, .arrangement-ground, .layer-ring-marks {
  transition: opacity .6s;
}

.here--reading .layer-under, .here--reading .arrangement-ground, .here--reading .layer-ring-marks {
  opacity: .25;
}

.here--reading .layer-labels {
  opacity: .35;
}

.menu-pin {
  color: var(--sc-ink);
}

.here--threads .place.here-item .place-far {
  transition: opacity .5s, color .5s;
}

.here--threads .place.here-item:not(:has(.is-neighbour, .is-focus)) .place-far {
  opacity: .28;
}

.place.here-item:has(.is-focus) .place-far {
  color: var(--here-warm);
}

.pin--on-item .pin-label {
  display: none;
}

.pin--on-item {
  transform: translate(-50%, -50%) scale(var(--k, 1)) translateY(-1.7em);
}

.here--legend .pin--on-item .pin-label {
  display: inline;
}

.here-nav {
  z-index: 6;
  box-sizing: border-box;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  width: min(21rem, 100% - 2rem);
  font: 400 .8rem/1.3 var(--sc-sans);
  color: var(--sc-soft);
  background: oklch(16% .012 125 / .94);
  border: 1px solid oklch(42% .03 130 / .55);
  border-radius: 14px;
  gap: .6rem;
  padding: .75rem;
  animation: .4s cubic-bezier(.16, 1, .3, 1) here-drop;
  display: grid;
  position: absolute;
  top: 3.2rem;
  left: 1rem;
  box-shadow: 0 18px 50px oklch(0% 0 0 / .45);
}

.here-nav[hidden] {
  display: none;
}

@keyframes here-drop {
  from {
    opacity: 0;
    transform: translateY(-.5rem);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.nav-head {
  align-items: center;
  gap: .4rem;
  display: flex;
}

.nav-find {
  box-sizing: border-box;
  min-width: 0;
  color: var(--sc-ink);
  font: 400 .95rem/1.2 var(--sc-sans);
  -webkit-user-select: text;
  user-select: text;
  background: oklch(12% .01 120 / .8);
  border: 1px solid oklch(45% .03 130 / .6);
  border-radius: 999px;
  outline: none;
  flex: 1;
  padding: .45rem .8rem;
}

.nav-find:focus {
  border-color: var(--here-line);
}

.nav-close {
  width: 1.9rem;
  height: 1.9rem;
  color: var(--sc-mute);
  font: 400 1.1rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 50%;
}

.nav-close:hover, .nav-close:focus-visible {
  color: var(--sc-ink);
  background: oklch(100% 0 0 / .05);
  outline: none;
}

.nav-recent {
  gap: .35rem;
  display: grid;
}

.nav-lists {
  gap: .7rem;
  display: grid;
}

.nav-places, .nav-marked {
  gap: .35rem;
  display: grid;
}

.nav-label {
  color: var(--sc-mute);
  font: 400 .66rem/1 var(--sc-mono);
  letter-spacing: .18em;
  text-transform: uppercase;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.nav-count {
  gap: .15rem;
  display: flex;
}

.nav-n {
  min-width: 1.6rem;
  color: var(--sc-mute);
  font: 400 .7rem/1 var(--sc-mono);
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 6px;
  padding: .2rem .3rem;
}

.nav-n[aria-pressed="true"] {
  color: var(--sc-ink);
  border-color: oklch(50% .04 140 / .7);
}

.nav-list {
  gap: .1rem;
  max-height: min(22rem, 50cqh);
  display: grid;
  overflow-y: auto;
}

.nav-row {
  color: var(--sc-ink);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 8px;
  justify-content: space-between;
  align-items: baseline;
  gap: .8rem;
  padding: .45rem .5rem;
  display: flex;
}

.nav-row:hover, .nav-row:focus-visible {
  background: oklch(72% .05 140 / .12);
  outline: none;
}

.nav-title {
  font: 400 1.02rem/1.25 var(--sc-serif);
  overflow-wrap: anywhere;
}

.nav-when {
  color: var(--sc-mute);
  font: 400 .68rem/1 var(--sc-mono);
  flex: none;
}

.nav-clamp {
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.nav-entry {
  display: grid;
}

.nav-where {
  color: var(--sc-mute);
  font: 400 .72rem/1.3 var(--sc-sans);
  flex-wrap: wrap;
  align-items: baseline;
  padding: 0 .5rem .3rem;
  display: flex;
}

.nav-step {
  border-radius: var(--r-control);
  color: var(--sc-soft);
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  padding: .1rem .15rem;
}

.nav-step:hover, .nav-step:focus-visible {
  color: var(--sc-ink);
  background: oklch(72% .05 140 / .12);
  outline: none;
}

.nav-entry > .nav-row {
  padding-bottom: .15rem;
}

.nav-empty {
  color: var(--sc-mute);
  margin: .3rem .5rem;
  font-style: italic;
}

.nav-show {
  color: var(--sc-accent);
  font: 400 .75rem/1 var(--sc-mono);
  text-underline-offset: .25em;
  cursor: pointer;
  background: none;
  border: 0;
  justify-self: start;
  padding: .2rem .5rem;
  text-decoration: underline;
}

.nav-beyond {
  color: var(--sc-mute);
  font: 400 .78rem/1.4 var(--sc-sans);
  border-top: 1px solid oklch(100% 0 0 / .07);
  margin: .5rem .5rem 0;
  padding-top: .5rem;
}

.nav-far {
  border-top: 1px solid oklch(100% 0 0 / .07);
  gap: .25rem;
  margin-top: .6rem;
  padding-top: .5rem;
  display: grid;
}

.nav-row--beyond .nav-title {
  color: var(--sc-soft);
}

.nav-row--beyond .nav-title:after {
  content: " ·";
  color: var(--sc-mute);
}

.nav-row--place .nav-title {
  color: oklch(86% .04 140);
}

.nav-row--place .nav-when {
  color: oklch(72% .05 140 / .85);
  font-style: italic;
}

.nav-row--pencil .nav-title {
  text-underline-offset: .25em;
  -webkit-text-decoration: underline dashed oklch(40% .02 120 / .5);
  text-decoration: underline dashed oklch(40% .02 120 / .5);
  text-decoration-thickness: 1px;
}

.dock-find {
  font-size: 1.15rem;
}

.dock-find[aria-pressed="true"] {
  color: var(--sc-ink);
  border-color: var(--here-line);
}

@media (max-width: 640px) {
  .here-nav {
    width: auto;
    top: 3rem;
    left: .75rem;
    right: .75rem;
  }
}

.lens-media-away {
  color: var(--sc-mute);
  font: 400 .8rem/1.35 var(--sc-sans);
  border: 1px dashed oklch(45% .02 120 / .7);
  border-radius: 8px;
  align-items: center;
  gap: .6rem;
  padding: 1.2rem 1rem;
  display: flex;
}

.lens-media-away span:first-child {
  font-size: 1.3rem;
}

.lens-place-at + .lens-link-url {
  margin-top: .4rem;
  display: inline-block;
}

.here-steward {
  z-index: 6;
  box-sizing: border-box;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  width: min(24rem, 100% - 2rem);
  font: 400 .82rem/1.35 var(--sc-sans);
  color: var(--sc-soft);
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  background: oklch(16% .012 125 / .94);
  border: 1px solid oklch(42% .03 130 / .55);
  border-radius: 14px;
  gap: .5rem;
  max-height: calc(100dvh - 4.5rem);
  padding: 0 .75rem .7rem;
  animation: .4s cubic-bezier(.16, 1, .3, 1) here-drop;
  display: grid;
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  overflow-y: auto;
  box-shadow: 0 18px 50px oklch(0% 0 0 / .45);
}

.here-steward[hidden] {
  display: none;
}

.ask-head {
  z-index: 1;
  background: oklch(16% .012 125);
  gap: .5rem;
  margin: 0 -.75rem;
  padding: .7rem .75rem .15rem;
  display: grid;
  position: sticky;
  top: 0;
}

.ask-name {
  color: var(--sc-ink);
  font: 500 .95rem/1.2 var(--sc-sans);
  margin: 0 1.6rem 0 0;
}

.ask-name-mark {
  color: var(--here-line);
}

.ask-modes {
  margin-right: 1.6rem;
}

.ask-form {
  display: flex;
}

.ask-line {
  box-sizing: border-box;
  min-width: 0;
  color: var(--sc-ink);
  font: 400 .95rem/1.2 var(--sc-sans);
  -webkit-user-select: text;
  user-select: text;
  background: oklch(12% .01 120 / .8);
  border: 1px solid oklch(45% .03 130 / .6);
  border-radius: 999px;
  outline: none;
  flex: 1;
  padding: .45rem .85rem;
}

.ask-line:focus {
  border-color: var(--here-line);
}

.ask-send {
  border: 1px solid var(--here-line);
  width: 44px;
  height: 44px;
  color: var(--sc-ink);
  font: 400 1.1rem/1 var(--sc-sans);
  cursor: pointer;
  background: oklch(72% .05 140 / .14);
  border-radius: 999px;
  flex: none;
  margin-left: .35rem;
}

.ask-send:disabled {
  color: var(--sc-mute);
  cursor: default;
  background: none;
  border-color: oklch(45% .03 130 / .6);
}

.ask-say {
  color: var(--sc-ink);
  font: 400 1rem/1.4 var(--sc-serif);
  margin: 0 .3rem;
}

.ask-thinking {
  color: var(--sc-mute);
  font: 400 .85rem/1.4 var(--sc-serif);
  margin: 0 .3rem;
  font-style: italic;
}

.ask-aside {
  color: var(--sc-soft);
  font: 400 .85rem/1.4 var(--sc-serif);
  margin: 0 .3rem;
}

.ask-proposal {
  border: 1px dashed oklch(72% .05 140 / .55);
  border-radius: 10px;
  gap: .45rem;
  padding: .55rem .6rem;
  display: grid;
}

.ask-why {
  color: var(--sc-mute);
  font: 400 .72rem/1.3 var(--sc-mono);
}

.ask-commit {
  justify-content: flex-end;
  gap: .4rem;
  display: flex;
}

.ask-commit button {
  font: 400 .78rem/1 var(--sc-sans);
  cursor: pointer;
  border-radius: 999px;
  padding: .35rem .8rem;
}

.ask-no {
  color: var(--sc-soft);
  background: none;
  border: 1px solid oklch(45% .02 120 / .6);
}

.ask-yes {
  border: 1px solid var(--here-line);
  color: var(--sc-ink);
  background: oklch(72% .05 140 / .18);
}

.ask-commit button.ask-feedback-main {
  border: 1px solid var(--here-line);
  color: var(--sc-ink);
  background: oklch(72% .05 140 / .55);
  font-weight: 600;
}

.ask-conversations-link {
  color: var(--sc-mute);
  font: 400 .78rem/1.3 var(--sc-sans);
  text-underline-offset: .18em;
  cursor: pointer;
  background: none;
  border: none;
  justify-self: start;
  margin: 0 .3rem;
  padding: 0;
  text-decoration: underline;
}

.ask-conversations-link:hover, .ask-conversations-link[aria-expanded="true"] {
  color: var(--sc-soft);
}

.steward-conversations {
  gap: .45rem;
  max-height: 40vh;
  padding: .2rem .3rem;
  display: grid;
  overflow-y: auto;
}

.steward-conversations-lead {
  color: var(--sc-ink);
  font: 400 .9rem/1.3 var(--sc-serif);
  margin: 0;
}

.steward-conversations-list {
  gap: .55rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.steward-conversation {
  border: 1px solid oklch(45% .03 130 / .4);
  border-radius: 10px;
  gap: .2rem;
  padding: .45rem .55rem;
  display: grid;
}

.steward-conversation-when {
  color: var(--sc-mute);
  font: 400 .72rem/1.3 var(--sc-sans);
  margin: 0;
}

.steward-conversation-said {
  color: var(--sc-ink);
  font: 400 .9rem/1.4 var(--sc-serif);
  white-space: pre-wrap;
  margin: 0;
}

.steward-conversation-answered {
  color: var(--sc-soft);
  font: 400 .85rem/1.4 var(--sc-serif);
  white-space: pre-wrap;
  margin: 0;
  font-style: italic;
}

.steward-conversation-aside {
  color: var(--sc-soft);
  font: 400 .74rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(45% .02 120 / .6);
  border-radius: 999px;
  justify-self: end;
  padding: .25rem .7rem;
}

.dock-ask {
  font-size: 1.1rem;
}

.dock-ask[aria-pressed="true"] {
  color: var(--here-line);
  border-color: var(--here-line);
}

.layer-ghosts {
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: 0;
}

.layer-ghost-lines {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  overflow: visible;
}

.ghost {
  transform: translate(-50%, -50%) scale(var(--k, 1));
  white-space: nowrap;
  pointer-events: none;
  color: oklch(82% .04 140);
  font: 400 13px/1.2 var(--sc-mono);
  letter-spacing: .04em;
  background: oklch(18% .012 125 / .7);
  border: 1px dashed oklch(72% .05 140 / .7);
  border-radius: 8px;
  padding: .3em .6em;
  animation: .45s cubic-bezier(.16, 1, .3, 1) ghost-in;
  position: absolute;
}

.ghost-card {
  width: 15em;
  max-width: none;
  font: 400 17px/1.3 var(--sc-serif);
  letter-spacing: 0;
  white-space: normal;
  text-align: center;
  border-radius: 12px;
  padding: .9em 1em;
}

.ghost-thread {
  stroke: oklch(72% .05 140 / .8);
  stroke-width: 2px;
  stroke-dasharray: 6 7;
  vector-effect: non-scaling-stroke;
}

.ghost-region {
  fill: oklch(72% .05 140 / .05);
  stroke: oklch(72% .05 140 / .6);
  stroke-width: 2px;
  stroke-dasharray: 4 9;
  vector-effect: non-scaling-stroke;
}

@keyframes ghost-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media (max-width: 640px) {
  .here-steward {
    width: auto;
    left: .75rem;
    right: .75rem;
    bottom: calc(var(--foot-bar) + .6rem);
    max-height: calc(100vh - var(--foot-bar) - 3.6rem);
    max-height: calc(100dvh - var(--foot-bar) - 3.6rem);
  }
}

.speak {
  justify-items: start;
  gap: .3rem;
  display: grid;
}

.speak-button {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  color: var(--sc-ink);
  font: 400 1.3rem/1 var(--sc-sans);
  cursor: pointer;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  background: oklch(72% .05 140 / .08);
  border: 1px solid oklch(55% .03 130 / .7);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
  position: relative;
}

.speak-button[aria-pressed="true"] {
  border-color: var(--here-warm);
  background: oklch(72% .05 140 / .3);
  box-shadow: 0 0 0 3px oklch(80% .1 70 / .45);
}

.speak-button:disabled {
  color: var(--sc-mute);
  cursor: default;
}

.speak-button[data-phase="writing"]:after {
  content: "";
  border: 2px solid #0000;
  border-top-color: var(--here-line);
  border-radius: 50%;
  animation: 1.1s linear infinite speak-spin;
  position: absolute;
  inset: -4px;
}

@keyframes speak-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .speak-button[data-phase="writing"]:after {
    border-color: var(--here-line);
    opacity: .5;
    animation: none;
  }
}

.ask-feedback {
  gap: var(--space-3);
  display: grid;
}

.ask-feedback > span:empty, .ask-feedback-pictures > span:empty {
  display: none;
}

.ask-line.ask-feedback-line {
  border-radius: var(--r-box);
  width: 100%;
  padding: var(--space-3);
  font: 400 16px/1.4 var(--sc-sans);
  min-height: calc(3 * 1.4em + 2 * var(--space-3) + 2px);
  max-height: calc(6 * 1.4em + 2 * var(--space-3) + 2px);
  resize: none;
  display: block;
  overflow-y: auto;
}

.ask-feedback-pictures {
  gap: var(--space-1);
  display: grid;
}

.ask-shot-row {
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
  min-width: 0;
  display: flex;
}

.ask-shot-add {
  box-sizing: border-box;
  min-height: var(--control-h);
  padding: 0 var(--space-4);
  border-radius: var(--r-control);
  color: var(--sc-soft);
  font: 400 var(--text-small)/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(45% .02 120 / .6);
  align-items: center;
  display: inline-flex;
  position: relative;
}

.ask-shot-add:hover {
  border-color: var(--here-line);
  color: var(--sc-ink);
}

.ask-shot-limit {
  color: var(--sc-mute);
  font: 400 var(--text-small)/1.3 var(--sc-sans);
  margin: 0;
}

.ask-keep-informed {
  align-items: center;
  gap: var(--space-2);
  min-height: var(--control-h);
  color: var(--sc-ink);
  font: 400 var(--text-body)/1.3 var(--sc-sans);
  cursor: pointer;
  display: flex;
}

.ask-keep-informed input[type="checkbox"] {
  width: 24px;
  height: 24px;
  accent-color: var(--here-line);
  flex: none;
  margin: 0;
}

.ask-keep-informed {
  box-sizing: border-box;
  padding: 0 var(--space-2);
  border-radius: var(--r-control);
  border: 1px solid #0000;
}

.ask-keep-informed:has(:checked) {
  border-color: var(--here-line);
  background: var(--here-line);
}

@supports (color: color-mix(in lab, red, red)) {
  .ask-keep-informed:has(:checked) {
    background: color-mix(in oklch, var(--here-line) 16%, transparent);
  }
}

.ask-keep-informed:has(:checked) {
  font-weight: 600;
}

.ask-keep-informed-state {
  margin: calc(-1 * var(--space-1)) 0 0;
  padding: 0 var(--space-2);
  color: var(--sc-mute);
  font: 400 var(--text-small)/1.3 var(--sc-sans);
}

.ask-keep-informed-state[data-state="on"] {
  color: var(--sc-ink);
}

.ask-feedback-commit {
  justify-content: flex-end;
  gap: var(--space-2);
  flex-wrap: wrap;
  display: flex;
}

.ask-feedback-commit button {
  box-sizing: border-box;
  min-height: var(--control-h);
  padding: 0 var(--space-4);
  border-radius: var(--r-control);
  font: 400 var(--text-small)/1 var(--sc-sans);
}

.edit-tools .speak {
  position: relative;
}

.edit-tools .speak-said {
  z-index: 1;
  background: var(--here-card);
  white-space: nowrap;
  pointer-events: none;
  border-radius: .5rem;
  margin: 0;
  padding: .15rem .5rem;
  position: absolute;
  top: calc(100% + .25rem);
  right: 0;
}

.edit-tools .speak-said:empty {
  display: none;
}

@media (max-width: 640px), (pointer: coarse) {
  .here {
    --control-h: 44px;
    --control-h-big: 56px;
  }

  .speak-button {
    width: 56px;
    min-width: 56px;
    height: 56px;
    min-height: 56px;
    font-size: 1.6rem;
  }

  .speak-button[aria-pressed="true"] {
    border-color: var(--here-warm);
    background: oklch(72% .05 140 / .3);
  }

  .capture-cancel, .capture-place, .capture-keep, .capture-here {
    min-height: 44px;
  }

  .capture-into, .capture-into-pick {
    min-height: var(--control-h);
  }

  .findplace-name, .findplace-go {
    box-sizing: border-box;
    min-height: var(--control-h);
  }

  .nav-row--pencil {
    min-height: var(--control-h);
    align-items: center;
  }

  .desk-tie > summary, .desk-ties-more > summary, .desk-tie-add, .desk-tie-pick, .desk-tie-bring {
    min-height: 44px;
    line-height: 44px;
  }

  .desk-tie-search {
    min-height: 44px;
    padding: .5rem .7rem;
    font-size: 16px;
  }

  .desk-ties {
    font-size: 15px;
  }

  .desk-tie-peek {
    max-height: 9rem;
    font-size: 15px;
  }

  .ask-line {
    font-size: var(--text-body);
    min-height: var(--control-h);
  }
}

@media (pointer: coarse) {
  .dock-btn:hover:after, .edge-mark:hover:after {
    opacity: 0;
  }

  .here--legend .dock-btn:after, .here--legend .edge-mark:after {
    opacity: 1;
  }

  .here-dock, .here-add, .rail-panel, .here-nav, .here-steward {
    -webkit-backdrop-filter: none;
  }

  .here-dock {
    background: oklch(15% .01 120 / .82);
  }

  .here-add {
    background: oklch(17% .012 125 / .94);
  }

  .here-foot .here-foot-pair {
    -webkit-backdrop-filter: none;
    background: oklch(17% .012 125 / .94);
  }

  .tile {
    filter: none;
  }

  .here--map .place.here-item[data-tier="far"] {
    filter: none;
    transition: opacity .3s;
  }

  .layer-tiles {
    will-change: transform;
  }
}

.layer-bench {
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: 0;
}

.hand-card {
  box-sizing: border-box;
  transform-origin: 50%;
  cursor: pointer;
  width: 22rem;
  color: var(--sc-soft);
  font: 400 1.05rem/1.45 var(--sc-serif);
  background: oklch(19% .01 120 / .72);
  border: 1px dashed oklch(55% .02 110 / .75);
  border-radius: 12px 26px 12px 12px;
  gap: .5rem;
  padding: 1.1rem 1.2rem;
  transition: background .3s, border-color .3s, transform .5s cubic-bezier(.16, 1, .3, 1);
  display: grid;
  position: absolute;
  transform: translate(-50%, -50%) scale(.3);
}

.hand-card:hover {
  background: oklch(21% .012 122 / .85);
  border-color: oklch(65% .03 110 / .9);
}

.hand-card.is-writing {
  border-style: solid;
  border-color: var(--here-warm);
  cursor: default;
  z-index: 2;
  background: oklch(20% .012 122 / .96);
  transform: translate(-50%, -50%) scale(.55);
}

.hand-heading {
  color: var(--sc-ink);
  font: 400 1.5rem/1.2 var(--sc-serif);
}

.hand-lines {
  -webkit-line-clamp: 2;
  color: var(--sc-mute);
  -webkit-box-orient: vertical;
  margin: 0;
  display: -webkit-box;
  overflow: hidden;
}

.hand-mark {
  color: var(--sc-mute);
  font: 400 .75rem/1 var(--sc-mono);
  letter-spacing: .18em;
  text-transform: uppercase;
}

.hand-title, .hand-body {
  box-sizing: border-box;
  width: 100%;
  color: var(--sc-ink);
  -webkit-user-select: text;
  user-select: text;
  background: oklch(13% .01 120 / .6);
  border: 0;
  border-radius: 6px;
  outline: none;
  padding: .4rem .5rem;
}

.hand-title {
  font: 400 1.45rem/1.2 var(--sc-serif);
}

.hand-body {
  resize: vertical;
  font: 400 1rem/1.5 var(--sc-serif);
}

.hand-title:focus, .hand-body:focus {
  background: oklch(13% .01 120 / .9);
}

.hand-tools {
  justify-content: flex-end;
  gap: .4rem;
  display: flex;
}

.hand-tools button {
  font: 400 .8rem/1 var(--sc-sans);
  cursor: pointer;
  border-radius: 999px;
  padding: .35rem .8rem;
}

.hand-away {
  color: var(--sc-soft);
  background: none;
  border: 1px solid oklch(45% .02 120 / .6);
}

.hand-clear {
  color: oklch(72% .06 40);
  background: none;
  border: 1px solid oklch(50% .06 40 / .5);
}

.hand-keep {
  border: 1px solid var(--here-line);
  color: var(--sc-ink);
  background: oklch(72% .05 140 / .18);
}

.here--reading .layer-bench {
  opacity: .4;
  transition: opacity .5s;
}

.bench--far .hand-card {
  white-space: nowrap;
  width: max-content;
  max-width: 22em;
  transform: translate(-50%, -50%) scale(var(--k, 1));
  font: 400 15px/1.2 var(--sc-sans);
  border-radius: 8px 16px 8px 8px;
  gap: 0;
  padding: .3em .6em;
}

.bench--far .hand-lines, .bench--far .hand-mark {
  display: none;
}

.bench--far .hand-heading {
  font: inherit;
  color: var(--sc-soft);
}

.bench--far .hand-card:after {
  content: " · in hand";
  color: var(--sc-mute);
  font: 400 12px/1 var(--sc-mono);
}

.hand-card.is-fresh {
  border-color: var(--here-warm);
  animation: .6s cubic-bezier(.16, 1, .3, 1) hand-land;
  box-shadow: 0 0 0 6px oklch(80% .08 70 / .1);
}

@keyframes hand-land {
  from {
    opacity: 0;
    transform: translate(-50%, calc(-50% - 18px)) scale(.3);
  }
}

.bench--far .hand-card.is-fresh {
  animation: none;
}

.nav-row--hand .nav-title {
  color: var(--sc-soft);
  font-style: italic;
}

.nav-row--hand .nav-when {
  color: oklch(72% .05 140 / .85);
}

.place.here-place .card-front {
  background: linear-gradient(oklch(24% .02 140 / .96), oklch(19% .014 130 / .96));
  border-color: oklch(55% .05 140 / .7);
  box-shadow: 0 0 0 1px oklch(60% .06 140 / .18), inset 0 1px oklch(100% 0 0 / .05), 0 26px 60px oklch(0% 0 0 / .42);
}

.place.here-place .place-title {
  color: oklch(92% .04 140);
}

.edge-in {
  top: -1rem;
  left: -.4rem;
}

.edge-in:after {
  left: auto;
  right: calc(100% + .45rem);
}

.edge-corner-share {
  bottom: -1rem;
  right: -.4rem;
}

.edge-corner-share:after {
  inset: auto calc(100% + .45rem) 50% auto;
  transform: translateY(50%);
}

.pin-holds {
  z-index: 2;
  border: 1px solid var(--here-line);
  border-radius: var(--r-pill);
  min-width: 1.6rem;
  height: 1.6rem;
  color: var(--sc-ink);
  font: 600 .8rem/1 var(--sc-sans);
  cursor: pointer;
  background: oklch(18% .012 125);
  place-items: center;
  padding: 0 .4rem;
  display: grid;
  position: absolute;
  bottom: -.6rem;
  left: -.6rem;
}

.pin-holds:hover, .pin-holds:focus-visible {
  border-color: var(--sc-accent);
  color: var(--sc-accent);
}

@media (max-width: 640px) {
  .pin-holds {
    min-width: 2.2rem;
    height: 2.2rem;
    font-size: .95rem;
    bottom: -.75rem;
    left: -.75rem;
  }
}

.here-standing {
  z-index: 4;
  background: var(--here-card);
  pointer-events: auto;
  border: 1px solid oklch(50% .04 140 / .45);
  border-radius: 999px;
  align-items: center;
  gap: .5rem;
  padding: .35rem .8rem .35rem .35rem;
  display: flex;
  position: absolute;
  top: 1rem;
  left: 1rem;
}

.here-standing[hidden], .here:has(.here-card.is-editing) .here-standing {
  display: none;
}

.here-host {
  z-index: 5;
  pointer-events: none;
  flex-direction: column;
  display: flex;
  position: absolute;
}

.here-host:not([data-dock]) {
  display: none;
}

.here-host > * {
  pointer-events: auto;
  flex: 0 auto;
  min-height: 0;
}

.here-host[data-dock="side"] {
  top: 3.6rem;
  right: var(--rail-w);
  width: min(36rem, calc(100% - var(--rail-w) - 1rem));
  max-width: 36rem;
  max-height: calc(100% - 8rem);
}

.here-host[data-dock="sheet"] {
  left: .75rem;
  right: .75rem;
  bottom: var(--dock-h);
  max-height: 45vh;
}

.thing-window {
  box-sizing: border-box;
  border-radius: var(--r-box);
  background: oklch(17% .012 125 / .98);
  border: 1px solid oklch(42% .02 120 / .6);
  flex-direction: column;
  max-height: 100%;
  padding: .9rem;
  display: flex;
  overflow: hidden;
  box-shadow: 0 16px 40px oklch(0% 0 0 / .45);
}

.here-host[data-dock="side"] > .thing-window {
  align-self: flex-end;
  width: min(24rem, 100%);
}

.here-host[data-dock="side"] > .here-capture {
  align-self: flex-end;
  width: min(30rem, 100%);
}

.here-host > .here-point-sheet {
  z-index: auto;
  box-sizing: border-box;
  overscroll-behavior: contain;
  border-radius: var(--r-box);
  background: oklch(17% .012 125 / .98);
  border: 1px solid oklch(42% .02 120 / .6);
  max-height: 100%;
  padding: .9rem 1rem;
  position: relative;
  top: auto;
  left: auto;
  overflow-y: auto;
  transform: none;
  box-shadow: 0 16px 40px oklch(0% 0 0 / .45);
}

.here-host[data-dock="side"] > .here-point-sheet {
  align-self: flex-end;
  width: min(21rem, 100%);
}

.here-host[data-dock="sheet"] > .here-point-sheet {
  width: 100%;
  padding: .6rem .8rem 0;
}

.here-host[data-dock="sheet"]:has( > .here-point-sheet) {
  max-height: calc(50% - var(--dock-h) - 1rem);
}

.here-host[data-dock="sheet"] > .here-point-sheet .pin-lead {
  display: none;
}

.here-host[data-dock="sheet"] > .here-point-sheet .here-window-head {
  margin: 0;
  position: absolute;
  top: .2rem;
  right: .3rem;
}

.here-host[data-dock="sheet"] > .here-point-sheet .spot-title {
  margin-right: 2.4rem;
}

.here-host[data-dock="sheet"] > .here-point-sheet .pin-name {
  width: calc(100% - 2.4rem);
}

.here-host[data-dock="sheet"] > .here-point-sheet .pin-acts {
  background: oklch(17% .012 125);
  padding: .4rem 0 .6rem;
  position: sticky;
  bottom: 0;
}

.here-point-sheet .here-window-body {
  gap: .45rem;
  display: grid;
}

.here-point-sheet .pin-lead, .here-point-sheet .pin-name, .here-point-sheet .pin-kinds, .here-point-sheet .pin-note {
  margin-bottom: 0;
}

.here-point-sheet :is(.spot-said, .spot-now, .spot-replaces) {
  font-family: var(--sc-sans);
  line-height: 1.4;
}

.spot-title {
  color: var(--sc-ink);
  font: 400 1rem/1.3 var(--sc-serif);
  margin: 0;
}

.spot-reads, .spot-from-picture {
  color: var(--sc-mute);
  font: 400 .78rem/1.35 var(--sc-sans);
  margin: 0;
}

.here-point-sheet .spot-way, .here-point-sheet .spot-find-go {
  min-height: var(--control-h);
  border-radius: var(--r-pill);
  color: var(--sc-soft);
  font: 400 .82rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(50% .02 120 / .6);
  padding: .35rem .8rem;
}

.here-point-sheet .spot-way:hover, .here-point-sheet .spot-way:focus-visible, .here-point-sheet .spot-find-go:hover, .here-point-sheet .spot-find-go:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.here-point-pin {
  z-index: 4;
  touch-action: none;
  cursor: grab;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  left: 50%;
}

.here-point-pin[hidden] {
  display: none;
}

.here-point-pin:after {
  content: "";
  background: var(--here-warm);
  border-radius: 50%;
  width: 8px;
  height: 8px;
  position: absolute;
  top: -4px;
  left: -4px;
  box-shadow: 0 0 0 2px oklch(14% .01 120 / .85);
}

.point-pin-mark {
  box-sizing: border-box;
  border: 2px solid var(--here-warm);
  width: 40px;
  height: 40px;
  color: var(--here-warm);
  background: oklch(18% .012 125 / .95);
  border-radius: 50% 50% 50% 0;
  place-items: center;
  font-size: 1.1rem;
  line-height: 1;
  display: grid;
  position: absolute;
  top: -52px;
  left: -20px;
  transform: rotate(-45deg);
  box-shadow: 0 6px 16px oklch(0% 0 0 / .45);
}

.here-point-pin:active {
  cursor: grabbing;
}

.thing-window > .here-window-head {
  flex: none;
  justify-content: space-between;
  align-items: baseline;
  gap: .6rem;
  margin: 0 0 .6rem;
  display: flex;
}

.thing-window-name {
  overflow-wrap: anywhere;
  min-width: 0;
  color: var(--sc-ink);
  font: 500 1rem/1.35 var(--sc-serif);
  margin: 0;
}

.thing-window > .card-menu {
  width: auto;
  min-height: 0;
  box-shadow: none;
  overscroll-behavior: contain;
  background: none;
  border: 0;
  border-radius: 0;
  flex: auto;
  max-height: none;
  padding: 0;
  position: static;
  overflow-y: auto;
  transform: none;
}

.glass-sheet, .glass-list, .glass-thread {
  border: 1px solid var(--ground-callout-line);
  border-radius: var(--r-sheet);
  background: var(--ground-milk), var(--ground-callout-fill);
  font: 400 .8rem/1.35 var(--sc-mono);
  color: var(--ground-ink);
  overscroll-behavior: contain;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  max-width: 100%;
  display: grid;
  overflow: auto;
}

.glass-sheet-head, .glass-sheet-row {
  grid-column: 1 / -1;
  grid-template-columns: subgrid;
  gap: 0 .8rem;
  padding: .45rem .8rem;
  display: grid;
}

.glass-sheet-head {
  color: var(--ground-aside);
  font-size: var(--ground-label-text);
  letter-spacing: var(--ground-aside-track);
}

.glass-sheet-row, .glass-list-row, .glass-thread-step {
  border: 0;
  border-top: 1px solid var(--ground-callout-line);
  color: var(--ground-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
}

.glass-sheet-row > span, .glass-sheet-head > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.glass-sheet-row:hover, .glass-sheet-row:focus-visible, .glass-list-row:hover, .glass-list-row:focus-visible, .glass-thread-step:hover, .glass-thread-step:focus-visible {
  background: oklch(30% .02 140 / .5);
}

@media (max-width: 640px) {
  .glass-sheet-row, .glass-list-row, .glass-thread-step {
    min-height: var(--control-h);
    align-items: center;
  }
}

.here-card[data-kept-view] .kept-view-face {
  border: 1px solid var(--ground-callout-line);
  border-radius: var(--r-sheet);
  background: var(--ground-milk), var(--ground-callout-fill);
  font: 400 .72rem/1.3 var(--sc-mono);
  color: var(--ground-ink);
  grid-template-columns: minmax(0, 1fr);
  margin: .2rem 0 0;
  display: grid;
}

.place:not(.here-place) .here-card[data-kept-view]:not(.is-open):not(.is-editing) .kept-view-face {
  max-height: calc(10.052rem + 2px);
  overflow: hidden;
}

.here-card[data-kept-view] .kept-view-face .glass-sheet-head, .here-card[data-kept-view] .kept-view-face .glass-sheet-row {
  gap: 0 .6rem;
  padding: .25rem .6rem;
}

.here-card[data-kept-view] .kept-view-face .glass-sheet-row {
  cursor: inherit;
  min-height: 0;
}

.here-card[data-kept-view] .kept-view-face .glass-sheet-row:hover {
  background: none;
}

.place:not(.here-place) .here-card[data-kept-view]:not(.is-open):not(.is-editing) .card-lines:has( > .kept-view-face) {
  max-height: none;
}

.here-card {
  transition: scale .32s, opacity .32s;
}

.here-card[data-beside-focus] {
  opacity: .55;
  scale: .96;
}

@media (prefers-reduced-motion: reduce) {
  .here-card, .here-card[data-beside-focus] {
    transition: none;
  }
}

.here:has(.here-card.is-editing) .glass-sheet, .here:has(.here-card.is-editing) .glass-list, .here:has(.here-card.is-editing) .glass-thread, .here:has(.here-card.is-editing) .glass-chart {
  display: none;
}

.glass-chart {
  border-radius: var(--r-box);
  background: var(--here-card);
  color: var(--here-card-ink);
  font: 400 .72rem/1.3 var(--sc-mono);
  border: 1px solid oklch(50% .04 140 / .45);
  overflow: hidden;
}

.glass-chart-readout {
  min-height: 1.3em;
  color: var(--here-card-ink);
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: .35rem .8rem .1rem;
  overflow: hidden;
}

.glass-chart-words {
  color: var(--here-card-aside);
  margin: 0;
  padding: .3rem .8rem .45rem;
}

.glass-chart-plot {
  position: relative;
}

.glass-chart-plot > svg {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
}

.glass-chart-plot .glass-chart-overlay {
  position: absolute;
  inset: 0;
}

.glass-chart .chart-line {
  fill: none;
  stroke-width: 1.5px;
  stroke-linejoin: round;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}

.glass-chart .chart-line-1 {
  stroke: var(--sc-ink);
}

.glass-chart .chart-line-2 {
  stroke: var(--sc-accent);
}

.glass-chart .chart-line-3, .glass-chart .chart-line-4 {
  stroke: var(--here-card-aside);
  stroke-dasharray: 4 2;
}

.glass-chart .chart-near-line {
  fill: none;
  stroke: var(--here-warm);
  stroke-width: 1px;
  stroke-dasharray: 4 3;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.glass-chart .chart-time-axis {
  stroke: oklch(72% .05 140 / .35);
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}

.glass-chart .chart-field-name, .glass-chart .chart-near-name, .glass-chart .chart-axis-word {
  white-space: nowrap;
  color: var(--here-card-aside);
  position: absolute;
  transform: translateY(-50%);
}

.glass-chart .chart-axis-word {
  transform: translate(0, -50%);
}

.glass-chart .chart-near-dot {
  background: var(--here-warm);
  border-radius: 50%;
  width: 6px;
  height: 6px;
  position: absolute;
  transform: translate(-50%, -50%);
}

.glass-list-row {
  align-items: baseline;
  gap: .8rem;
  padding: .45rem .8rem;
  display: flex;
}

.glass-list-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: auto;
  min-width: 0;
  overflow: hidden;
}

.glass-list-when {
  color: var(--here-card-aside);
  flex: none;
}

.glass-thread-step {
  border-left: 1px solid oklch(50% .04 140 / .45);
  align-items: baseline;
  gap: .8rem;
  margin-left: .8rem;
  padding: .45rem .8rem .45rem 1.4rem;
  display: flex;
}

.glass-thread-when, .glass-thread-place {
  color: var(--here-card-aside);
  flex: none;
}

.glass-thread-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: auto;
  min-width: 0;
  overflow: hidden;
}

.standing-back {
  width: 1.9rem;
  height: 1.9rem;
  color: var(--sc-ink);
  font: inherit;
  cursor: pointer;
  background: oklch(30% .02 140 / .7);
  border: 0;
  border-radius: 999px;
  place-items: center;
  display: grid;
}

.standing-back:hover, .standing-back:focus-visible {
  background: oklch(38% .03 140 / .85);
}

.standing-name {
  letter-spacing: .01em;
  font-size: .95rem;
}

.standing-shared {
  opacity: .7;
  font-size: .8rem;
}

.standing-shared:empty {
  display: none;
}

.standing-changes {
  align-items: center;
  gap: .5rem;
  font-size: .8rem;
  display: inline-flex;
}

.standing-changes[hidden] {
  display: none;
}

.changes-line {
  opacity: .8;
}

.changes-send {
  color: var(--sc-ink);
  font: inherit;
  cursor: pointer;
  background: oklch(38% .05 140 / .85);
  border: 0;
  border-radius: 999px;
  padding: .15rem .6rem;
}

.changes-send:hover, .changes-send:focus-visible {
  background: oklch(45% .06 140 / .9);
}

.changes-send[aria-disabled="true"] {
  opacity: .6;
  cursor: default;
}

.changes-said {
  opacity: .75;
}

.changes-refused {
  color: oklch(80% .1 60);
}

.standing-marks {
  gap: .35rem;
  margin-left: .2rem;
  display: flex;
}

.standing-marks[hidden] {
  display: none;
}

.standing-mark {
  color: oklch(78% .05 140 / .9);
  width: 36px;
  height: 36px;
  font: 400 15px/1 var(--sc-sans);
  cursor: pointer;
  background: oklch(18% .012 125 / .92);
  border: 1px solid oklch(62% .04 140 / .5);
  border-radius: 50%;
  place-items: center;
  padding: 0;
  transition: color .2s, border-color .2s, background .2s;
  display: grid;
}

.standing-mark:hover, .standing-mark:focus-visible {
  color: var(--sc-ink);
  border-color: var(--here-line);
  outline: none;
}

.standing-pop {
  top: var(--pop-top, calc(100% + .5rem));
  left: var(--pop-left, 0px);
  z-index: 5;
  width: 16rem;
  font: 400 .8rem/1.3 var(--sc-sans);
  color: var(--sc-soft);
  transform: translate(var(--menu-dx, 0px), var(--menu-dy, 0px));
  max-height: var(--menu-room, none);
  overscroll-behavior: contain;
  background: oklch(17% .012 125 / .98);
  border: 1px solid oklch(42% .02 120 / .6);
  border-radius: 12px;
  padding: .9rem;
  position: absolute;
  overflow-y: auto;
  box-shadow: 0 16px 40px oklch(0% 0 0 / .45);
}

.standing-pop[hidden] {
  display: none;
}

.standing-pop-title {
  color: var(--sc-ink);
  margin: 0 0 .5rem;
  font-size: .95rem;
}

.standing-pop-close {
  color: var(--sc-soft);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 1px solid oklch(40% .02 120 / .6);
  border-radius: 999px;
  margin-top: .6rem;
  padding: .3rem .7rem;
}

.standing-pop-close:hover {
  border-color: var(--here-line);
  color: var(--sc-ink);
}

.standing-pop-more {
  border-radius: var(--r-pill);
  color: var(--sc-soft);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 1px solid oklch(40% .02 120 / .6);
  margin: .6rem .4rem 0 0;
  padding: .3rem .7rem;
}

.standing-pop-more:hover {
  border-color: var(--here-line);
  color: var(--sc-ink);
}

.standing-pop-ways > button {
  border-radius: var(--r-pill);
  color: var(--sc-soft);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 1px solid oklch(40% .02 120 / .6);
  margin-top: .6rem;
  padding: .3rem .7rem;
}

.standing-pop-ways > button:hover {
  border-color: var(--here-line);
  color: var(--sc-ink);
}

.standing-pop-shared {
  margin: 0 0 .4rem;
}

.standing-pop-ways {
  flex-wrap: wrap;
  gap: 0 .4rem;
  display: flex;
}

.standing-pop-ask, .standing-pop-stays {
  flex-basis: 100%;
  margin: .4rem 0 0;
}

.standing-pop-stays {
  font-size: .75rem;
}

.standing-pop-ways > .standing-pop-confirm {
  color: var(--sc-ink);
  border-color: var(--here-line);
}

.standing-pop-row {
  width: 100%;
  color: var(--sc-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  border-bottom: 1px solid oklch(40% .02 120 / .35);
  margin: 0;
  padding: .45rem .1rem;
  display: block;
}

.standing-pop-row:first-of-type {
  border-top: 1px solid oklch(40% .02 120 / .35);
  margin-top: .5rem;
}

.standing-pop-row:hover, .standing-pop-row:focus-visible {
  color: var(--here-line);
  outline: none;
}

.standing-pop-tied {
  color: var(--sc-ink);
  margin: .3rem 0 0;
  padding-left: 1rem;
}

.standing-pop-tray, .standing-pop-chips {
  flex-direction: column;
  gap: .5rem;
  margin-top: .4rem;
  display: flex;
}

.standing-pop-chips .chip {
  text-align: left;
  white-space: normal;
  justify-items: start;
}

.here-home-window {
  z-index: 7;
  width: min(28rem, 88vw);
  max-height: 80vh;
  position: absolute;
  top: 50%;
  left: 50%;
  overflow-y: auto;
  transform: translate(-50%, -50%);
}

.here-home-window[hidden] {
  display: none;
}

.here-home-window p {
  font: 400 .88rem/1.5 var(--sc-sans);
  margin: 0;
}

.home-said {
  color: var(--sc-soft);
}

.home-done {
  color: var(--sc-ink);
  font-weight: 500;
}

.home-name {
  box-sizing: border-box;
  border-radius: var(--r-box);
  width: 100%;
  color: var(--sc-ink);
  font: 400 var(--text-body)/1.3 var(--sc-sans);
  background: oklch(10% .01 120 / .7);
  border: 1px solid oklch(50% .02 120 / .6);
  margin: 0;
  padding: .4rem .6rem;
  display: block;
}

.here-home-hint {
  z-index: 4;
  border-radius: var(--r-pill);
  background: var(--ground-milk), var(--ground-callout-fill);
  pointer-events: auto;
  border: 1px solid oklch(50% .04 140 / .35);
  align-items: center;
  gap: .4rem;
  padding: .3rem .5rem;
  display: flex;
  position: absolute;
  bottom: 1rem;
  left: 1rem;
}

.here-home-hint[hidden] {
  display: none;
}

@media (max-width: 640px) {
  .here-home-hint {
    left: .75rem;
    bottom: calc(var(--rail-rise, 6.5rem) + .5rem);
  }
}

.home-hint-said {
  color: var(--sc-mute);
  font: 400 .75rem/1.3 var(--sc-sans);
}

.home-hint-close {
  color: var(--sc-mute);
  font: 400 .85rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: none;
  padding: 0 .15rem;
}

.home-hint-close:hover, .home-hint-close:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.here-home-aim {
  z-index: 3;
  border: 1.5px solid var(--here-warm);
  pointer-events: none;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  margin: -11px 0 0 -11px;
  position: absolute;
  box-shadow: 0 0 0 1px oklch(14% .01 120 / .6);
}

.here-home-aim:after {
  content: "";
  background: var(--here-warm);
  border-radius: 50%;
  width: 4px;
  height: 4px;
  margin: -2px 0 0 -2px;
  position: absolute;
  top: 50%;
  left: 50%;
}

.here-home-aim[hidden] {
  display: none;
}

.home-aim-word {
  border-radius: var(--r-control);
  background: var(--ground-tag-fill);
  color: var(--here-warm);
  font: 400 var(--text-aside)/1.2 var(--sc-mono);
  letter-spacing: .04em;
  white-space: nowrap;
  padding: .1em .4em;
  position: absolute;
  top: calc(100% + 4px);
  left: 50%;
  transform: translateX(-50%);
}

.here-home-mark {
  transform: translate(-50%, -50%) scale(var(--k, 1));
  transform-origin: 50%;
  box-sizing: border-box;
  border: 1.5px solid var(--here-warm);
  background: var(--ground-milk), oklch(18% .012 125 / .92);
  width: 26px;
  height: 26px;
  color: var(--here-warm);
  font: 400 var(--text-small)/1 var(--sc-sans);
  pointer-events: none;
  border-radius: 50%;
  place-items: center;
  display: grid;
  position: absolute;
}

@media (max-width: 640px) {
  .here[data-setting-home] ~ .my-here-first-run {
    overscroll-behavior: contain;
    max-height: calc(50% - 8.5rem);
    top: auto;
    overflow-y: auto;
  }
}

.here:has(.here-steward:not([hidden])) ~ .my-here-first-run[data-step="meet"] {
  overscroll-behavior: contain;
  max-height: 9rem;
  top: auto;
  overflow-y: auto;
}

.here:has(.here-steward:not([hidden])) ~ .my-here-first-run[data-step="meet"] [data-role="first-run-guidance"], .here:has(.here-steward:not([hidden])) ~ .my-here-first-run[data-step="meet"] [data-role="first-run-purpose"] {
  display: none;
}

.here:has( ~ .my-here-first-run[data-step="meet"]:not([hidden])) .here-steward {
  max-height: calc(100dvh - 14rem);
  bottom: 10.5rem;
}

@media (max-width: 640px) {
  .here:has(.here-steward:not([hidden])) ~ .my-here-first-run[data-step="meet"] {
    max-height: 8.75rem;
  }

  .here:has( ~ .my-here-first-run[data-step="meet"]:not([hidden])) .here-steward {
    max-height: calc(100dvh - 19.5rem);
    bottom: 16.5rem;
  }
}

.here-land {
  z-index: 7;
  max-width: min(32rem, 88vw);
  max-height: 80vh;
  color: var(--sc-soft);
  text-align: left;
  background: oklch(14% .01 120 / .95);
  border: 1px solid oklch(45% .02 120 / .7);
  border-radius: 14px;
  padding: 1.2rem 1.4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  overflow-y: auto;
  transform: translate(-50%, -50%);
  box-shadow: 0 20px 50px oklch(0% 0 0 / .45);
}

.here-land[hidden] {
  display: none;
}

.land-lead {
  color: var(--sc-ink);
  font: 500 .95rem/1.3 var(--sc-sans);
  margin-bottom: .7rem;
  display: block;
}

.here-land p {
  font: 400 .88rem/1.5 var(--sc-sans);
  margin: 0 0 .6rem;
}

.land-findable-does-not, .land-does-not-vouch {
  color: var(--sc-mute);
  font-size: .82rem;
}

.land-needs, .land-reading, .land-heres-needs, .land-none, .land-connect-needs, .land-said {
  color: var(--sc-soft);
  font-size: .85rem;
}

.land-said[hidden] {
  display: none;
}

.land-connected, .land-standing {
  color: var(--sc-ink);
  font-weight: 500;
}

.land-standing[hidden] {
  display: none;
}

.land-name-label {
  color: var(--sc-mute);
  font: 400 .78rem/1.4 var(--sc-sans);
  margin: .9rem 0 .2rem;
  display: block;
}

.land-name {
  width: 100%;
  color: var(--sc-ink);
  font: 400 .88rem/1.3 var(--sc-sans);
  background: oklch(10% .01 120 / .7);
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 8px;
  margin-top: .3rem;
  padding: .4rem .6rem;
  display: block;
}

.land-name-is-yours {
  color: var(--sc-mute);
  font-size: .82rem;
}

.land-use-name {
  border: 1px solid var(--here-warm);
  color: var(--sc-ink);
  font: 400 .88rem/1 var(--sc-sans);
  cursor: pointer;
  background: oklch(80% .08 70 / .18);
  border-radius: 999px;
  margin: .3rem 0 .7rem .5rem;
  padding: .45rem 1rem;
}

.land-use-name:hover:not(:disabled), .land-use-name:focus-visible {
  background: oklch(80% .08 70 / .3);
  outline: none;
}

.land-use-name:disabled {
  opacity: .6;
  cursor: default;
}

.land-findable {
  color: var(--sc-mute);
  font: 400 .88rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 999px;
  margin: .3rem 0 .7rem;
  padding: .45rem 1rem;
}

.land-findable[aria-pressed="true"] {
  border-color: var(--here-warm);
  color: var(--sc-ink);
  background: oklch(80% .08 70 / .18);
}

.land-findable:hover:not(:disabled), .land-findable:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.land-findable:disabled {
  opacity: .6;
  cursor: default;
}

.land-here {
  border-top: 1px solid oklch(45% .02 120 / .5);
  flex-wrap: wrap;
  align-items: baseline;
  gap: .6rem;
  padding: .35rem 0;
  display: flex;
}

.land-here-name {
  color: var(--sc-ink);
  font: 400 .88rem/1.4 var(--sc-sans);
}

.land-here-key {
  color: var(--sc-mute);
  font: 400 .78rem/1.4 var(--sc-mono);
}

.land-here-who {
  flex-direction: column;
  gap: .1rem;
  display: inline-flex;
}

.land-here-key-says {
  color: var(--sc-mute);
  font: italic 400 .74rem/1.35 var(--sc-sans);
}

.land-here-known {
  color: var(--sc-mute);
  font: 400 .78rem/1.4 var(--sc-sans);
  margin-left: auto;
}

.land-connect, .land-take {
  border: 1px solid var(--here-warm);
  color: var(--sc-ink);
  font: 400 .82rem/1 var(--sc-sans);
  cursor: pointer;
  background: oklch(80% .08 70 / .18);
  border-radius: 999px;
  margin-left: auto;
  padding: .35rem .9rem;
}

.land-take {
  margin: .3rem .6rem 0 0;
  padding: .45rem 1rem;
  font-size: .88rem;
}

.land-connect:hover:not(:disabled), .land-connect:focus-visible, .land-take:hover:not(:disabled), .land-take:focus-visible {
  background: oklch(80% .08 70 / .3);
  outline: none;
}

.land-connect:disabled, .land-take:disabled {
  opacity: .6;
  cursor: default;
}

.land-who {
  margin: .3rem 0 .7rem;
}

.land-who-name {
  color: var(--sc-ink);
  font: 500 1rem/1.35 var(--sc-sans);
  display: block;
}

.land-who-key {
  color: var(--sc-mute);
  font: 400 .78rem/1.45 var(--sc-mono);
  display: block;
}

.land-call {
  color: var(--sc-mute);
  font: 400 .78rem/1.4 var(--sc-sans);
  margin: .9rem 0 .2rem;
  display: block;
}

.land-call-them {
  width: 100%;
  color: var(--sc-ink);
  font: 400 .88rem/1.3 var(--sc-sans);
  background: oklch(10% .01 120 / .7);
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 8px;
  margin-top: .3rem;
  padding: .4rem .6rem;
  display: block;
}

.land-refused {
  color: oklch(72% .11 35);
  font-size: .85rem;
}

.land-refused[hidden] {
  display: none;
}

.land-back, .land-close {
  color: var(--sc-mute);
  font: 400 .82rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 999px;
  margin-top: .9rem;
  margin-right: .5rem;
  padding: .45rem .9rem;
}

.land-back:hover, .land-back:focus-visible, .land-close:hover, .land-close:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.arriving-knock-lead {
  color: var(--sc-ink);
  font: 500 .9rem/1.3 var(--sc-sans);
  margin: .9rem 0 .4rem;
  display: block;
}

.arriving-knock-accepting, .arriving-knocks-needs {
  color: var(--sc-mute);
  font-size: .82rem;
}

.arriving-knock {
  border-top: 1px solid oklch(45% .02 120 / .5);
  flex-wrap: wrap;
  align-items: baseline;
  gap: .6rem;
  padding: .35rem 0;
  display: flex;
}

.arriving-knock-from {
  color: var(--sc-ink);
  font: 400 .88rem/1.4 var(--sc-sans);
}

.arriving-knock-when {
  color: var(--sc-mute);
  font: 400 .78rem/1.4 var(--sc-mono);
}

.arriving-knock-said {
  color: var(--sc-soft);
  font: 400 .82rem/1.4 var(--sc-sans);
}

.arriving-knock-refused {
  color: oklch(72% .11 35);
  font-size: .82rem;
}

.arriving-knock-accept, .arriving-knock-ignore {
  color: var(--sc-mute);
  font: 400 .8rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 999px;
  padding: .3rem .8rem;
}

.arriving-knock-accept {
  border-color: var(--here-warm);
  color: var(--sc-ink);
  background: oklch(80% .08 70 / .18);
  margin-left: auto;
}

.arriving-knock-accept:hover:not(:disabled), .arriving-knock-accept:focus-visible {
  background: oklch(80% .08 70 / .3);
  outline: none;
}

.arriving-knock-ignore:hover:not(:disabled), .arriving-knock-ignore:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.arriving-knock-accept:disabled, .arriving-knock-ignore:disabled {
  opacity: .6;
  cursor: default;
}

.land-heres-lead {
  color: var(--sc-ink);
  font: 500 .9rem/1.3 var(--sc-sans);
  margin: .9rem 0 .2rem;
  display: block;
}

.here-pin-sheet, .here-findplace {
  z-index: 7;
  width: min(19rem, 88vw);
  max-height: 80vh;
  color: var(--sc-soft);
  text-align: left;
  background: oklch(14% .01 120 / .95);
  border: 1px solid oklch(45% .02 120 / .7);
  border-radius: 14px;
  padding: 1.1rem 1.2rem;
  position: absolute;
  overflow-y: auto;
  box-shadow: 0 20px 50px oklch(0% 0 0 / .45);
}

.here-pin-sheet[hidden], .here-findplace[hidden] {
  display: none;
}

.here-pin-sheet[data-at="middle"], .here-findplace {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.pin-lead, .findplace-lead {
  color: var(--sc-ink);
  font: 500 .95rem/1.3 var(--sc-sans);
  margin-bottom: .7rem;
  display: block;
}

.pin-name, .pin-note, .pin-when, .pin-link, .findplace-name {
  box-sizing: border-box;
  width: 100%;
  color: var(--sc-ink);
  font: 400 .88rem/1.35 var(--sc-serif);
  -webkit-user-select: text;
  user-select: text;
  background: oklch(10% .01 120 / .7);
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 8px;
  margin: 0 0 .7rem;
  padding: .4rem .6rem;
  display: block;
}

.pin-note {
  resize: vertical;
}

.pin-kinds {
  flex-wrap: wrap;
  gap: .35rem;
  margin: 0 0 .8rem;
  display: flex;
}

.pin-kind {
  color: var(--sc-soft);
  font: 400 .8rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 999px;
  align-items: center;
  gap: .3em;
  padding: .35rem .6rem;
  display: inline-flex;
}

.pin-kind:hover, .pin-kind:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.pin-kind[aria-checked="true"] {
  border-color: var(--here-warm);
  color: var(--sc-ink);
  background: oklch(80% .08 70 / .18);
}

.pin-kind-glyph {
  font-size: 1em;
}

.pin-memory {
  gap: .1rem;
  display: grid;
}

.pin-field {
  gap: .25rem;
  display: grid;
}

.pin-field-name {
  color: var(--sc-mute);
  font: 400 .72rem/1 var(--sc-mono);
  letter-spacing: .12em;
}

.pin-acts {
  align-items: center;
  gap: .6rem;
  display: flex;
}

.pin-keep {
  border: 1px solid var(--here-warm);
  color: var(--sc-ink);
  font: 400 .88rem/1 var(--sc-sans);
  cursor: pointer;
  background: oklch(80% .08 70 / .18);
  border-radius: 999px;
  padding: .45rem 1rem;
}

.pin-keep:hover, .pin-keep:focus-visible {
  background: oklch(80% .08 70 / .3);
  outline: none;
}

.pin-cancel, .findplace-close {
  color: var(--sc-mute);
  font: 400 .82rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(50% .02 120 / .6);
  border-radius: 999px;
  padding: .45rem .9rem;
}

.pin-cancel:hover, .findplace-close:hover, .pin-cancel:focus-visible, .findplace-close:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.findplace-ask {
  align-items: start;
  gap: .5rem;
  display: flex;
}

.findplace-ask .findplace-name {
  margin-bottom: .7rem;
}

.findplace-go {
  border: 1px solid var(--here-warm);
  color: var(--sc-ink);
  font: 400 .82rem/1 var(--sc-sans);
  cursor: pointer;
  background: oklch(80% .08 70 / .18);
  border-radius: 999px;
  flex: none;
  padding: .45rem .9rem;
}

.findplace-here {
  border: 1px solid var(--here-warm);
  border-radius: var(--r-pill);
  max-width: 100%;
  color: var(--sc-ink);
  font: 400 .82rem/1 var(--sc-sans);
  white-space: nowrap;
  cursor: pointer;
  background: oklch(80% .08 70 / .18);
  margin: 0 0 .7rem;
  padding: .45rem .9rem;
  display: block;
}

.findplace-rows {
  gap: .1rem;
  margin-bottom: .5rem;
  display: grid;
}

.findplace-row {
  color: var(--sc-ink);
  text-align: left;
  cursor: pointer;
  background: oklch(72% .05 140 / .06);
  border: 1px solid oklch(50% .02 120 / .4);
  border-radius: 8px;
  gap: .15rem;
  padding: .45rem .5rem;
  display: grid;
}

.findplace-row:hover, .findplace-row:focus-visible {
  background: oklch(72% .05 140 / .16);
  border-color: oklch(60% .04 140 / .7);
  outline: none;
}

.findplace-row-name {
  font: 400 .92rem/1.25 var(--sc-serif);
}

.findplace-row-area {
  color: var(--sc-mute);
  font: 400 .74rem/1.3 var(--sc-sans);
}

.findplace-said {
  color: var(--sc-mute);
  font: 400 .82rem/1.45 var(--sc-sans);
  margin: 0 0 .7rem;
}

.layer-place-pins {
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.place-pin {
  transform: translate(-50%, -50%) scale(var(--k, 1));
  transform-origin: 50%;
  font: 400 var(--ground-label-text)/1 var(--sc-mono);
  color: var(--ground-ink);
  white-space: nowrap;
  cursor: pointer;
  pointer-events: auto;
  background: none;
  border: 0;
  align-items: center;
  gap: .35em;
  margin: 0;
  padding: 0;
  display: flex;
  position: absolute;
}

.place-pin-mark {
  box-sizing: border-box;
  border: 1.5px solid var(--here-warm);
  background: oklch(18% .012 125 / .92);
  border-radius: 50%;
  place-items: center;
  width: 32px;
  min-width: 32px;
  height: 32px;
  min-height: 32px;
  font-size: 16px;
  line-height: 1;
  display: grid;
}

.place-pin:hover .place-pin-mark, .place-pin:focus-visible .place-pin-mark {
  box-shadow: 0 0 0 3px oklch(80% .08 70 / .35);
}

.place-pin-name {
  border-radius: var(--r-tag);
  background: var(--ground-tag-fill);
  color: var(--ground-aside);
  letter-spacing: .04em;
  margin-left: .35em;
  padding: .2em .45em;
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
}

.place-pin.is-name-left .place-pin-name {
  margin-left: 0;
  margin-right: .35em;
  left: auto;
  right: 100%;
}

.place-pin-name[hidden] {
  display: none;
}

.place-pin:hover, .place-pin:focus-visible, .place-pin.is-showing {
  z-index: 2;
}

.place-pin.is-elsewhere, .pin.is-elsewhere {
  opacity: .28;
}

.place-pin.is-elsewhere:hover, .place-pin.is-elsewhere:focus-visible, .pin.is-elsewhere:hover, .pin.is-elsewhere:focus-visible {
  opacity: .7;
}

.pin.is-elsewhere .pin-label {
  display: none;
}

.place-pin--offered {
  pointer-events: none;
}

.place-pin--offered .place-pin-mark {
  color: var(--here-warm);
  background: none;
  border-style: dashed;
}

.here--map .place.here-item[data-place-pin] .place-far {
  visibility: hidden;
}

.here-beside {
  z-index: 7;
  box-sizing: border-box;
  border: 1px solid var(--ground-callout-line);
  border-radius: var(--r-sheet);
  background: var(--ground-milk), var(--ground-callout-fill);
  color: var(--ground-aside);
  text-align: left;
  flex-direction: column;
  gap: .5rem;
  padding: .9rem 1.1rem;
  display: flex;
  position: absolute;
  box-shadow: 0 20px 50px oklch(0% 0 0 / .45);
}

.here-beside[hidden] {
  display: none;
}

.here-beside[data-side="foot"] {
  border-radius: var(--r-sheet) var(--r-sheet) 0 0;
  border-bottom: 0;
}

.here-beside .here-window-head {
  justify-content: space-between;
  align-items: baseline;
  margin: 0;
}

.beside-name {
  color: var(--ground-ink);
  font: 500 1rem/1.35 var(--sc-serif);
}

.beside-body {
  -webkit-overflow-scrolling: touch;
  flex: auto;
  min-height: 0;
  overflow-y: auto;
}

.here-attribution {
  z-index: 8;
}

.place-pin.is-showing .place-pin-mark {
  border-color: var(--sc-ink);
  box-shadow: 0 0 0 4px oklch(80% .08 70 / .3);
}

.here--map .place.here-item[data-beside] .card-face, .here--map .place.here-item[data-place-pin] .card-face {
  visibility: hidden;
  pointer-events: none;
}

.here--map .place.here-item[data-beside] .card-edge, .here--map .place.here-item[data-place-pin] .card-edge {
  display: none;
}

.beside-presses {
  flex-wrap: wrap;
  gap: .35rem;
  display: flex;
}

.beside-presses[hidden], .beside-also[hidden] {
  display: none;
}

.beside-press {
  border-radius: var(--r-pill);
  color: var(--sc-soft);
  font: 400 .82rem/1.3 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(45% .02 120 / .7);
  padding: .25em .7em;
}

.beside-press:hover, .beside-press:focus-visible {
  color: var(--sc-ink);
  border-color: var(--here-line);
  outline: none;
}

.beside-also {
  border-top: 1px solid oklch(45% .02 120 / .4);
  flex: 0 auto;
  max-height: 45%;
  padding-top: .5rem;
  overflow-y: auto;
}

.lens-place-kind {
  color: var(--sc-soft);
  font: 400 .82rem/1.3 var(--sc-sans);
  align-items: baseline;
  gap: .4em;
  margin: 0 0 .5em;
  display: flex;
}

.lens-place-glyph {
  font-size: 1.05em;
}

.lens-place-fields {
  margin: 0 0 .6em;
}

.lens-field-nested {
  margin: .1em 0 .1em .9em;
}

.lens-field-link, .lens-place-away {
  color: var(--sc-accent);
  text-underline-offset: .2em;
  text-decoration: underline;
}

.here-card {
  -webkit-touch-callout: none;
}

.here-card.is-lifted {
  z-index: 3;
  pointer-events: none;
}

.here-card.is-lifted .card-face {
  border-color: oklch(72% .06 140 / .6);
  transition: transform .18s, box-shadow .18s;
  transform: scale(1.06);
  box-shadow: inset 0 1px oklch(100% 0 0 / .06), 0 34px 70px oklch(0% 0 0 / .55);
}

.ground-word.is-lifted {
  color: var(--sc-ink);
  text-shadow: 0 10px 26px oklch(0% 0 0 / .6);
  transform: translate(-50%, -50%) scale(calc(var(--k, 1) * 1.08));
  pointer-events: none;
}

.here[data-lifted] {
  cursor: grabbing;
  -webkit-user-select: none;
  user-select: none;
}

.here[data-lifted] .here-card:not(.is-lifted) {
  pointer-events: none;
}

span.publish-dot {
  font-size: .8rem;
  line-height: 1;
}

.publish-dot[data-state="live"] {
  color: oklch(78% .12 150);
}

.publish-dot[data-state="building"] {
  color: oklch(80% .1 85);
}

.publish-dot[data-state="waiting"] {
  color: var(--sc-soft, oklch(76% .015 90));
}

.publish-dot[data-state="failed"] {
  color: var(--here-warm);
}

.publish-window, .publish-sheet, .take-down-sheet {
  flex-direction: column;
  gap: .45rem;
  max-width: 26rem;
  display: flex;
}

.publish-lead {
  font-weight: 600;
}

.publish-standing {
  align-items: baseline;
  gap: .4rem;
  margin: 0;
  display: flex;
}

.publish-line, .publish-prepare-say, .publish-key-note, .publish-unfilled, .publish-said {
  margin: 0;
  font-size: .8rem;
  line-height: 1.4;
}

.publish-line strong {
  margin-right: .2rem;
  font-weight: 600;
}

.publish-key-note {
  opacity: .75;
}

.publish-refused {
  color: var(--here-warm);
  margin: 0;
  font-size: .78rem;
  line-height: 1.35;
}

.here-lens-note {
  z-index: 6;
  color: var(--sc-soft, oklch(76% .015 90));
  font: 400 .78rem/1.3 var(--sc-mono, monospace);
  background: oklch(15% .01 120 / .75);
  border-radius: 999px;
  margin: 0;
  padding: .4rem .8rem;
  position: absolute;
  top: .8rem;
  left: 50%;
  transform: translateX(-50%);
}

.here-lens-host > .here-lens-note {
  box-sizing: border-box;
  text-align: center;
  pointer-events: none;
  max-width: calc(100% - 2rem);
  height: auto;
}

.here .ui-press {
  box-sizing: border-box;
  justify-content: center;
  align-items: center;
  gap: var(--space-2);
  min-height: var(--control-h);
  min-width: var(--control-h);
  padding: 0 var(--space-4);
  border-radius: var(--r-control);
  color: var(--sc-soft);
  font: 400 var(--text-body)/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(45% .02 120 / .6);
  display: inline-flex;
}

.here .ui-press--warm {
  border: 1px solid var(--here-line);
  color: var(--sc-ink);
  background: oklch(72% .05 140 / .18);
}

.here .ui-press:hover:not(:disabled) {
  color: var(--sc-ink);
  border-color: var(--here-line);
}

.here .ui-icon-press {
  box-sizing: border-box;
  min-height: var(--control-h);
  min-width: var(--control-h);
  border-radius: var(--r-pill);
  color: var(--sc-mute);
  font: 400 var(--text-body)/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 0;
  flex: none;
  place-items: center;
  padding: 0;
  display: inline-grid;
}

.here .ui-icon-press--big {
  min-height: var(--control-h-big);
  min-width: var(--control-h-big);
}

.here .ui-icon-press:hover:not(:disabled) {
  color: var(--sc-ink);
  background: oklch(100% 0 0 / .05);
}

.here .ui-press:disabled, .here .ui-icon-press:disabled {
  opacity: .6;
  cursor: default;
}

.here .ui-choice-option:focus-visible, .here .ui-check:has(:focus-visible), .here .ui-press:focus-visible, .here .ui-icon-press:focus-visible {
  outline: 2px solid var(--here-line);
  outline-offset: 2px;
}

.here .ui-field {
  gap: var(--space-1);
  min-width: 0;
  display: grid;
}

.here .ui-field-row {
  align-items: flex-end;
  gap: var(--space-2);
  min-width: 0;
  display: flex;
}

.here .ui-field-box {
  box-sizing: border-box;
  border-radius: var(--r-box);
  width: 100%;
  min-width: 0;
  padding: var(--space-3);
  font-size: var(--text-body);
  font-family: var(--sc-serif);
  border: 1px solid oklch(45% .03 130 / .6);
  flex: 1;
}

.here .ui-field-box:focus {
  border-color: var(--here-line);
}

.here .ui-field-speak {
  flex: none;
}

.here .ui-field-said:has( > [hidden]) {
  display: none;
}

.here .ui-field-said > * {
  margin: 0;
}

:where(.here) :where(.ui-choice) {
  gap: var(--space-1);
  flex-wrap: wrap;
  display: flex;
}

:where(.here) :where(.ui-choice--column) {
  flex-flow: column;
  align-items: center;
}

:where(.here) :where(.ui-choice-option) {
  box-sizing: border-box;
  padding: 0 var(--space-2);
  border-radius: var(--r-control);
  color: var(--sc-mute);
  font: 400 var(--text-body)/1.2 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(45% .02 120 / .5);
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

:where(.here) :where(.ui-choice-option):hover {
  color: var(--sc-ink);
}

:where(.here) :where(.ui-choice-option[aria-checked="true"]) {
  border-color: var(--here-line);
  color: var(--sc-ink);
  background: oklch(72% .05 140 / .14);
}

.here .ui-choice-option {
  box-sizing: border-box;
  min-height: var(--control-h);
  min-width: var(--control-h);
}

.here .ui-check {
  box-sizing: border-box;
  align-items: center;
  gap: var(--space-2);
  min-height: var(--control-h);
  color: var(--sc-ink);
  font: 400 var(--text-body)/1.3 var(--sc-sans);
  cursor: pointer;
  display: flex;
}

.here .ui-check-box {
  accent-color: var(--here-line);
  flex: none;
  margin: 0;
}

.here .ui-sheet:not(.ui-sheet--inline) {
  box-sizing: border-box;
  padding: var(--space-4) var(--space-6);
  border-radius: var(--r-sheet);
  color: var(--sc-soft);
  text-align: left;
  background: oklch(14% .01 120 / .95);
  border: 1px solid oklch(45% .02 120 / .7);
  box-shadow: 0 20px 50px oklch(0% 0 0 / .45);
}

.here .ui-sheet-head {
  align-items: center;
  gap: var(--space-2);
  margin: calc(-1 * var(--space-2)) calc(-1 * var(--space-3)) var(--space-2) 0;
  display: flex;
}

.here .ui-sheet-title {
  min-width: 0;
  color: var(--sc-ink);
  font: 500 var(--text-body)/1.3 var(--sc-sans);
  flex: 1;
  margin: 0;
  display: block;
}

.here .ui-sheet-close {
  margin-left: auto;
}

.here .ui-sheet-body {
  gap: var(--space-3);
  min-width: 0;
  display: grid;
}

.here .ui-sheet--inline > .ui-sheet-head {
  margin: calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) 0 0;
}

.here .ui-sheet--inline > .ui-sheet-body {
  display: block;
}

.here .ui-sheet-foot {
  justify-content: flex-end;
  gap: var(--space-2);
  margin-top: var(--space-4);
  flex-wrap: wrap;
  display: flex;
}

@media (max-width: 599.98px), (pointer: coarse) {
  .here .ui-sheet:not(.ui-sheet--inline):not([hidden]) {
    z-index: 12;
    width: auto;
    max-width: none;
    max-height: min(var(--here-card-open-cap), calc(100% - var(--space-6)));
    border-radius: var(--r-sheet) var(--r-sheet) 0 0;
    padding: var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom, 0px));
    border-bottom: 0;
    flex-direction: column;
    display: flex;
    position: absolute;
    inset: auto 0 0;
    overflow: hidden;
    transform: none;
  }

  .here .ui-sheet:not(.ui-sheet--inline) > .ui-sheet-head {
    flex: none;
  }

  .here .ui-sheet:not(.ui-sheet--inline) > .ui-sheet-body {
    overscroll-behavior: contain;
    min-height: 0;
    overflow-y: auto;
  }

  .here .ui-sheet:not(.ui-sheet--inline) > .ui-sheet-foot {
    flex: none;
  }
}

.here-share-sheet {
  font: 400 var(--text-small)/1.3 var(--sc-sans);
}

.here-focus-line, .here-landing-line {
  z-index: 13;
  max-width: min(28rem, 100% - 2rem);
  padding: var(--space-2) var(--space-4);
  border-radius: var(--r-pill);
  color: var(--sc-ink);
  font: 400 var(--text-small)/1.3 var(--sc-sans);
  text-align: center;
  background: oklch(15% .01 120 / .9);
  margin: 0;
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
}

.here-focus-line[hidden], .here-landing-line[hidden] {
  display: none;
}

@media (max-width: 640px) {
  .here-focus-line, .here-landing-line {
    bottom: calc(var(--foot-bar) + .5rem);
  }
}

.ui-mark {
  vertical-align: middle;
  flex: none;
  display: inline-block;
  overflow: visible;
}

.ui-mark--small {
  width: 1.1em;
  height: 1.1em;
}

.ui-mark--control {
  width: var(--control-h, 2.25rem);
  height: var(--control-h, 2.25rem);
}

.ui-mark--big {
  width: 6rem;
  height: 6rem;
}

.place-title > .ui-mark, .place-far > .ui-mark, .ground-word-text > .ui-mark {
  vertical-align: -.15em;
  margin-right: .35em;
}

.ui-mark-ground {
  background: var(--brand-ground-dark);
}

.here-home-mark.is-pencil {
  border-style: dashed;
}

.here-home-mark .home-mark-tools {
  pointer-events: auto;
  white-space: nowrap;
  gap: .4rem;
  display: flex;
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
}

.here-home-mark .home-mark-tools > button {
  border: 1px solid var(--here-line);
  border-radius: var(--r-pill);
  background: var(--ground-callout-fill);
  color: var(--ground-ink);
  font: 400 var(--text-small)/1 var(--sc-sans);
  cursor: pointer;
  padding: .3rem .8rem;
}

.here-home-mark .home-mark-tools .pencil-keep {
  background: linear-gradient(oklch(72% .05 140 / .18), oklch(72% .05 140 / .18)), var(--ground-callout-fill);
}

.here-map-tools {
  z-index: 4;
  border-radius: var(--r-pill);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: oklch(15% .01 120 / .7);
  border: 1px solid oklch(50% .04 140 / .35);
  gap: .2rem;
  padding: .25rem;
  display: flex;
  position: absolute;
  top: 1rem;
  right: 1rem;
}

.here-map-tools[hidden] {
  display: none;
}

.map-tool {
  width: 2.3rem;
  height: 2.3rem;
  color: var(--sc-soft);
  font: 400 1.05rem/1 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 50%;
  padding: 0;
  transition: color .2s, background .2s;
}

.map-tool:hover, .map-tool:focus-visible {
  color: var(--sc-ink);
  border-color: var(--here-line);
  background: oklch(100% 0 0 / .06);
  outline: none;
}

@media (max-width: 640px) {
  .here-map-tools {
    top: auto;
    right: .8rem;
    bottom: calc(var(--foot-bar) + .8rem + var(--beside-foot, 0px));
  }
}

.here-unplaced {
  z-index: 4;
  justify-items: center;
  gap: .4rem;
  max-width: min(22rem, 100% - 2rem);
  display: grid;
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
}

.here-unplaced[hidden] {
  display: none;
}

.unplaced-say {
  border-radius: var(--r-pill);
  cursor: pointer;
  color: var(--sc-mute);
  font: 400 .75rem/1.3 var(--sc-sans);
  background: oklch(14% .01 120 / .82);
  border: 1px solid oklch(50% .04 140 / .35);
  padding: .3rem .7rem;
}

.unplaced-say:hover, .unplaced-say:focus-visible, .unplaced-say[aria-expanded="true"] {
  color: var(--sc-ink);
  border-color: var(--here-line);
  outline: none;
}

.unplaced-list {
  overscroll-behavior: contain;
  border-radius: var(--r-sheet);
  box-sizing: border-box;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  width: min(21rem, 100vw - 2rem);
  max-height: 16rem;
  font: 400 .8rem/1.3 var(--sc-sans);
  background: oklch(16% .012 125 / .94);
  border: 1px solid oklch(42% .03 130 / .55);
  gap: .1rem;
  padding: .4rem;
  display: grid;
  overflow-y: auto;
  box-shadow: 0 18px 50px oklch(0% 0 0 / .45);
}

.unplaced-row {
  border-radius: var(--r-control);
  min-height: 2.4rem;
  color: var(--sc-ink);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  justify-content: space-between;
  align-items: baseline;
  gap: .8rem;
  padding: .45rem .5rem;
  display: flex;
}

.unplaced-row:hover, .unplaced-row:focus-visible {
  background: oklch(100% 0 0 / .06);
  outline: none;
}

.unplaced-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.unplaced-when {
  color: var(--sc-mute);
  flex: none;
  font-size: .72rem;
}

@media (max-width: 640px) {
  .here-unplaced {
    left: .75rem;
    bottom: calc(var(--rail-rise, 6.5rem) + .5rem);
    justify-items: start;
    max-width: calc(100% - 8.5rem);
    transform: none;
  }

  .unplaced-list {
    width: calc(100vw - 1.5rem);
  }

  .here-home-hint:not([hidden]) ~ .here-unplaced {
    bottom: calc(var(--rail-rise, 6.5rem) + 2.9rem);
  }
}

@media (pointer: coarse) {
  .here-map-tools, .unplaced-list {
    -webkit-backdrop-filter: none;
  }

  .here-map-tools {
    background: oklch(15% .01 120 / .82);
  }
}

.place-pin.is-found {
  z-index: 2;
}

.place-pin.is-found .place-pin-mark {
  border-color: var(--here-warm);
  box-shadow: 0 0 0 5px oklch(78% .11 75 / .35);
}

.nav-not-on-map {
  border-radius: var(--r-control);
  background: oklch(100% 0 0 / .04);
  gap: .45rem;
  padding: .5rem .6rem;
  display: grid;
}

.nav-not-on-map-said {
  color: var(--sc-ink);
  margin: 0;
}

.nav-not-on-map-acts {
  flex-wrap: wrap;
  gap: .4rem;
  display: flex;
}

.nav-not-on-map-acts button {
  border-radius: var(--r-pill);
  min-height: 2.4rem;
  color: var(--sc-soft);
  font: 400 .8rem/1.2 var(--sc-sans);
  cursor: pointer;
  background: none;
  border: 1px solid oklch(50% .03 130 / .6);
  padding: .35rem .8rem;
}

.nav-not-on-map-acts .nav-not-on-map-put {
  border-color: var(--here-warm);
  color: var(--sc-ink);
}

.here-timestrip {
  z-index: 3;
  box-sizing: border-box;
  width: min(28rem, 100% - 24rem);
  min-height: var(--control-h);
  align-items: center;
  gap: var(--space-3);
  padding: 0 var(--space-3);
  border-radius: var(--r-pill);
  border: var(--hairline);
  background: var(--frost-fill);
  color: var(--sc-soft);
  font: 400 var(--text-aside)/1.2 var(--sc-mono);
  pointer-events: none;
  display: flex;
  position: absolute;
  top: 3.4rem;
  left: 50%;
  overflow: hidden;
  transform: translateX(-50%);
}

.here-timestrip[hidden] {
  display: none;
}

.here-timestrip .ts-line {
  min-width: 0;
  height: var(--control-h);
  flex: auto;
  position: relative;
}

.here-timestrip .ts-mark {
  white-space: nowrap;
  color: var(--sc-mute);
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.here-timestrip .ts-now-tick {
  background: var(--here-warm, currentColor);
  opacity: .8;
  width: 2px;
  position: absolute;
  top: 25%;
  bottom: 25%;
  transform: translateX(-50%);
}

.here-timestrip .ts-now {
  white-space: nowrap;
  color: var(--sc-ink);
  flex: none;
}

@media (max-width: 640px) {
  .here-timestrip {
    left: auto;
    right: var(--space-3);
    bottom: auto;
    top: var(--space-4);
    width: auto;
    max-width: 11rem;
    min-height: 0;
    padding: var(--space-1) var(--space-3);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transform: none;
  }

  .here-timestrip .ts-line {
    display: none;
  }
}

.my-here-view {
  min-height: 0;
}

.my-here-bar {
  border-bottom: 1px solid #40404099;
  flex: none;
}

.my-here-body {
  flex-direction: column;
  flex: auto;
  min-height: 0;
  display: flex;
}

.my-here-body > .here {
  flex: auto;
  min-height: 24rem;
}

@media (max-width: 640px) {
  .my-here-body > .my-here-first-run {
    overscroll-behavior: contain;
    max-width: min(24rem, 100% - 1.4rem);
    max-height: calc(100% - 14.75rem);
    bottom: 10rem;
    left: .7rem;
    right: auto;
    overflow-y: auto;
  }

  .my-here-first-run button, .my-here-first-run input, .my-here-first-run textarea {
    min-height: 44px;
  }

  .my-here-first-run [data-role="first-run-leave"] {
    min-width: 44px;
  }

  .my-here-body > .my-here-first-run [data-role="first-run-footer"] {
    background: #171717f2;
    margin-top: .75rem;
    padding-block: .5rem;
    position: sticky;
    bottom: 0;
  }
}

.my-here-first-run {
  transition: opacity .16s, filter .16s, box-shadow .16s;
}

.my-here-body > .my-here-first-run:not([hidden]):not([data-waiting]), .my-here-body:has( > .my-here-first-run[data-waiting]:not([hidden])) :is(.here-key, .here-home-window, .here-steward, .my-here-settings):not([hidden]) {
  box-shadow: 0 0 0 1px oklch(80% .08 70 / .35), 0 8px 28px oklch(80% .08 70 / .35);
}

.my-here-body > .my-here-first-run[data-waiting] {
  opacity: .4;
  filter: blur(1px);
}

@media (prefers-reduced-motion: reduce) {
  .my-here-first-run {
    transition: none;
  }
}

.my-here-mark {
  color: #737373;
  letter-spacing: .18em;
  font: 400 .7rem / 1 ui-monospace, SFMono-Regular, Menlo, monospace;
}

.my-here-mark-sep {
  font: 400 .7rem / 1 ui-monospace, SFMono-Regular, Menlo, monospace;
}

.my-here-home-label {
  width: 12rem;
  color: inherit;
  background: none;
  border: 1px solid #40404099;
  border-radius: .25rem;
  padding: .125rem .375rem;
}

.my-here-whisper:empty {
  display: none;
}

.my-here-unread {
  color: #a3a3a3;
  padding: 1rem;
}

.spatial-shell {
  width: 100%;
  height: 100%;
  position: relative;
}

.spatial-shell-canvas {
  width: 100%;
  height: 100%;
}

.spatial-shell-face {
  display: grid;
}

.spatial-shell-face > * {
  grid-area: 1 / 1;
}

.spatial-shell-name {
  font: 400 clamp(2.4rem, 7cqw, 4.2rem) / 1.05 var(--sc-serif);
  color: oklch(88% .03 140);
  letter-spacing: -.01em;
  white-space: nowrap;
  place-self: center;
  margin: 0;
}

.place.spatial-shell-field > .place-near, .place.spatial-shell-place > .place-near {
  width: auto;
}

.place.spatial-shell-place .place-title, .place.spatial-shell-place .place-body {
  display: none;
}

.spatial-shell-field-host, .place.spatial-shell-place .place-mount {
  box-sizing: border-box;
  background: var(--sc-ground, oklch(16% .008 140));
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px oklch(6% .01 150 / .3), 0 24px 60px oklch(6% .01 150 / .4);
}

.spatial-shell-field-host {
  box-shadow: none;
  border-radius: 0;
}

.spatial-shell-field-host > *, .place.spatial-shell-place .place-mount > * {
  width: 100%;
  height: 100%;
}

.spatial-shell-face .spatial-shell-field-host {
  visibility: hidden;
}

.place[data-lod="near"] .spatial-shell-face .spatial-shell-field-host {
  visibility: visible;
}

.place[data-lod="near"] .spatial-shell-name {
  visibility: hidden;
}

.place:not(.place--active) .spatial-shell-field-host {
  content-visibility: hidden;
}

.spatial-shell-field-host[data-mount-state="waiting"], .spatial-shell-field-host[data-mount-state="mounting"] {
  color: var(--sc-mute);
  font: 400 .78rem/1 var(--sc-mono);
  letter-spacing: .2em;
  place-items: center;
  display: grid;
}

.spatial-shell-field-host[data-mount-state="mounting"]:after {
  content: "opening";
}

.place-mount-trouble {
  max-width: 30rem;
  color: var(--sc-soft);
  font: 400 .95rem/1.5 var(--sc-sans);
  text-align: center;
  margin: auto;
  padding: 1.4rem;
}

.spatial-shell-chrome {
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.spatial-shell-where {
  color: var(--sc-mute, #737373);
  font: 400 .7rem/1 var(--sc-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  letter-spacing: .24em;
  text-transform: uppercase;
  position: absolute;
  top: 2.6rem;
  left: 50%;
  transform: translateX(-50%);
}

.spatial-shell-out {
  pointer-events: auto;
  color: var(--sc-soft, #a3a3a3);
  font: 400 .7rem/1 var(--sc-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  letter-spacing: .16em;
  text-transform: uppercase;
  cursor: pointer;
  background: none;
  border: 0;
  padding: .3rem .1rem;
  position: absolute;
  top: 2.4rem;
  right: 1.1rem;
}

.spatial-shell-out:hover, .spatial-shell-out:focus-visible {
  color: var(--sc-ink);
  text-underline-offset: .35em;
  outline: none;
  text-decoration: underline;
}

.spatial-shell[data-shell-at-field="true"] > .spatial-shell-canvas > .spatial-chrome, .spatial-shell[data-shell-at-field="true"] .spatial-shell-where, .app-corner:empty {
  display: none;
}

.app-corner {
  z-index: 20;
  pointer-events: none;
  align-items: flex-start;
  gap: .9rem;
  display: flex;
  position: fixed;
  top: .55rem;
  right: 1rem;
}

.app-whose {
  color: #737373;
  letter-spacing: .12em;
  pointer-events: auto;
  padding: .3rem .1rem;
  font: 400 .7rem / 1 ui-monospace, SFMono-Regular, Menlo, monospace;
}

.app-corner .host-chrome {
  flex-direction: column;
  align-items: flex-end;
  display: flex;
  position: relative;
  top: auto;
  left: auto;
}

.app-corner .host-chrome-summon {
  color: #737373;
  font: 400 .7rem / 1 ui-monospace, SFMono-Regular, Menlo, monospace;
}

.app-corner .host-chrome-summon:hover, .app-corner .host-chrome-summon:focus-visible {
  color: #e5e5e5;
}

.app-corner .host-chrome-panel {
  width: 22rem;
  position: absolute;
  top: 100%;
  right: 0;
}

[data-rail-panel] .host-chrome {
  max-width: none;
  position: static;
}

[data-rail-panel] .host-chrome-summon {
  letter-spacing: normal;
  text-transform: none;
  width: 100%;
}

[data-rail-panel] .host-chrome-panel {
  background: none;
  border-color: #40404066;
  width: auto;
  margin-top: .35rem;
  position: static;
}

.host-chrome {
  pointer-events: auto;
  max-width: 22rem;
  position: absolute;
  top: 2.4rem;
  left: 1.1rem;
}

.host-chrome-summon {
  color: var(--sc-mute);
  font: 400 .7rem/1 var(--sc-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  cursor: pointer;
  background: none;
  border: 0;
  padding: .3rem .1rem;
}

.host-chrome-summon:hover, .host-chrome-summon:focus-visible {
  color: var(--sc-ink);
  outline: none;
}

.host-chrome-panel {
  color: #d4d4d4;
  background: #171717f0;
  border: 1px solid #40404099;
  border-radius: .375rem;
  margin-top: .5rem;
  padding: .75rem 1rem;
}

.my-here-signed-out-veil[hidden] {
  display: none !important;
}

.my-here-thumb-press:disabled {
  opacity: .6;
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}
