/* URSY.PHOTOS — buttons, cards, chips, tags, fields, rows.
   Hairline OR shadow, never both. Radii 8 / 14 / 22 only. */
.u-btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; height:44px; padding:0 20px;
  border-radius:11px; font-size:14px; font-weight:500; white-space:nowrap; flex:none;
  transition:background .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease; }
.u-btn:hover{ text-decoration:none; }
.u-btn--primary{ background:var(--ink); color:var(--bg); }
.u-btn--primary:hover{ background:var(--neon); color:var(--on-neon); }
.u-btn--accent{ background:var(--neon); color:var(--on-neon); font-weight:600; }
.u-btn--accent:hover{ opacity:.88; color:var(--on-neon); }
.u-btn--ghost{ color:var(--ink2); box-shadow:inset 0 0 0 1px var(--line2); }
.u-btn--ghost:hover{ color:var(--neon); box-shadow:inset 0 0 0 1px var(--neon); }
.u-btn--hero{ height:50px; padding:0 24px; border-radius:12px; font-size:15px; }
.u-btn--hero.u-btn--primary:hover{ transform:translateY(-1px); box-shadow:0 18px 40px -18px var(--neon); }
.u-btn--block{ width:100%; }
.u-iconbtn{ width:44px; height:44px; display:grid; place-items:center; border-radius:12px; color:var(--ink2);
  transition:color .15s ease, background .15s ease; }
.u-iconbtn:hover{ color:var(--ink); background:var(--hover); }
.u-card{ background:var(--card); border-radius:var(--radius-m);
  box-shadow:inset 0 0 0 1px var(--line2), inset 0 1px 0 var(--topline);
  transition:transform .16s ease, box-shadow .16s ease; }
.u-card--hover:hover{ transform:translateY(-2px);
  box-shadow:inset 0 0 0 1px var(--line2), 0 16px 34px -20px rgba(16,18,22,.5); }
.u-card--pad{ padding:24px; }
.u-glass{ background:var(--sheet); backdrop-filter:blur(24px) saturate(140%); -webkit-backdrop-filter:blur(24px) saturate(140%); }
.u-chip{ display:inline-flex; align-items:center; gap:8px; height:38px; padding:0 15px; border-radius:999px;
  background:var(--card); box-shadow:inset 0 0 0 1px var(--line2), inset 0 1px 0 var(--topline);
  font-size:12.5px; color:var(--ink2); transition:color .14s ease, box-shadow .14s ease; }
.u-chip:hover{ color:var(--neon); box-shadow:inset 0 0 0 1px var(--neon); text-decoration:none; }
.u-chip__code{ font-family:var(--font-mono); font-size:10.5px; color:var(--ink); }
.u-tag{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:.12em; border-radius:5px; padding:3px 7px; }
.u-tag--ok{ background:color-mix(in oklab, var(--ok) 14%, transparent); color:var(--ok); }
.u-tag--info{ background:var(--neon-soft); color:var(--ink2); }
.u-tag--accent{ background:var(--neon); color:var(--on-neon); letter-spacing:.14em; }
.u-glyph{ display:grid; place-items:center; width:34px; height:34px; border-radius:10px;
  font-family:var(--font-mono); font-size:13px; }
.u-glyph--web{ background:color-mix(in oklab, var(--m-web) 15%, transparent); color:var(--m-web); }
.u-glyph--domain{ background:color-mix(in oklab, var(--m-domain) 15%, transparent); color:var(--m-domain); }
.u-glyph--mail{ background:color-mix(in oklab, var(--m-mail) 15%, transparent); color:var(--m-mail); }
.u-glyph--wp{ background:color-mix(in oklab, var(--m-wp) 15%, transparent); color:var(--m-wp); }
.u-glyph--sec{ background:color-mix(in oklab, var(--m-sec) 15%, transparent); color:var(--m-sec); }
.u-glyph--help{ background:color-mix(in oklab, var(--m-help) 15%, transparent); color:var(--m-help); }
.u-glyph--solid{ color:#fff; }
.u-glyph--solid.u-glyph--web{ background:linear-gradient(180deg, color-mix(in oklab, var(--m-web) 88%, #fff), var(--m-web)); }
.u-glyph--solid.u-glyph--domain{ background:linear-gradient(180deg, color-mix(in oklab, var(--m-domain) 88%, #fff), var(--m-domain)); }
.u-glyph--solid.u-glyph--mail{ background:linear-gradient(180deg, color-mix(in oklab, var(--m-mail) 88%, #fff), var(--m-mail)); }
.u-glyph--solid.u-glyph--wp{ background:linear-gradient(180deg, color-mix(in oklab, var(--m-wp) 88%, #fff), var(--m-wp)); }
.u-glyph--solid.u-glyph--sec{ background:linear-gradient(180deg, color-mix(in oklab, var(--m-sec) 88%, #fff), var(--m-sec)); }
.u-glyph--solid.u-glyph--help{ background:linear-gradient(180deg, color-mix(in oklab, var(--m-help) 88%, #fff), var(--m-help)); }
.u-field{ display:flex; align-items:center; height:48px; padding:0 4px 0 14px; border-radius:12px;
  background:var(--field); box-shadow:inset 0 0 0 1px var(--line2); }
.u-field input{ flex:1; min-width:0; height:44px; padding:0 8px; border:0; background:transparent;
  color:var(--ink); font-size:14px; outline:none; }
.u-field__prefix{ font-family:var(--font-mono); font-size:12px; color:var(--ink3); }
.u-dot{ width:6px; height:6px; border-radius:50%; background:var(--ok); animation:livePulse 2.4s ease-in-out infinite; }
.u-num{ font-family:var(--font-mono); font-weight:400; font-variant-numeric:tabular-nums; letter-spacing:-.02em; }

/* Reading column for hand-written pages (privacy, terms, support). */
.u-prose{ font-size:15px; line-height:1.75; color:var(--ink2); }
.u-prose > * + *{ margin-top:1em; }
.u-prose h2{ margin-top:1.8em; font-size:1.25rem; letter-spacing:-.018em; color:var(--ink); }
.u-prose h3{ margin-top:1.5em; font-size:1.05rem; letter-spacing:-.012em; color:var(--ink); }
.u-prose a{ color:var(--neon); }
.u-prose ul, .u-prose ol{ padding-left:1.3em; }
.u-prose li + li{ margin-top:.4em; }
.u-prose img{ max-width:100%; height:auto; border-radius:var(--radius-m); }
