/* URSY.DOMAINS — buttons, cards, chips, fields, tables, accordions, rows.
   Hairline OR shadow, never both. Radii 8 / 14 / 18 / 22. 130–260ms ease-out. */

/* --- buttons --- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:44px; padding:0 18px; border-radius:var(--radius-m); font-size:14px; font-weight:600;
  white-space:nowrap; transition:background .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease; }
.btn--primary{ background:var(--ink); color:var(--bg); }
.btn--primary:hover{ background:var(--neon); color:var(--neon-ink); transform:translateY(-1px);
  box-shadow:0 18px 40px -18px var(--neon); }
.btn--soft{ background:var(--hover); color:var(--ink); }
.btn--soft:hover{ background:var(--ink); color:var(--bg); }
.btn--ghost{ background:transparent; color:var(--ink); box-shadow:inset 0 0 0 1px var(--line2); }
.btn--ghost:hover{ background:var(--hover); color:var(--ink); }
.btn--quiet{ min-height:34px; padding:0 14px; border-radius:9px; font-size:12.5px; color:var(--ink2);
  box-shadow:inset 0 0 0 1px var(--line2); }
.btn--quiet:hover{ background:var(--neon-soft); color:var(--ink); box-shadow:inset 0 0 0 1px var(--neon); }
.btn--link{ min-height:auto; padding:0; font-size:13.5px; color:var(--ink); }
.btn--link:hover{ color:var(--neon); }

/* --- cards --- */
.card{ background:var(--card); border-radius:var(--radius-m);
  box-shadow:inset 0 0 0 1px var(--line2), inset 0 1px 0 var(--topline); }
.card--pad{ padding:20px; }
.card--lift{ transition:box-shadow .16s ease,transform .16s ease; }
.card--lift:hover{ box-shadow:inset 0 0 0 1px var(--neon), 0 16px 34px -20px rgba(16,18,22,.5);
  transform:translateY(-2px); }
.sheet{ background:var(--sheet); border-radius:var(--radius-l);
  box-shadow:var(--lift), inset 0 0 0 1px var(--line2), inset 0 1px 0 var(--topline);
  backdrop-filter:blur(30px) saturate(140%); -webkit-backdrop-filter:blur(30px) saturate(140%); }

/* --- chips & tags --- */
.chip{ display:inline-flex; align-items:center; gap:8px; height:38px; padding:0 15px; border-radius:999px;
  background:var(--card); color:var(--ink2); font-family:var(--font-mono); font-size:12.5px; white-space:nowrap;
  box-shadow:inset 0 0 0 1px var(--line2), inset 0 1px 0 var(--topline);
  transition:color .14s ease,box-shadow .14s ease; }
.chip:hover{ color:var(--ink); box-shadow:inset 0 0 0 1px var(--neon); }
.tag{ font-family:var(--font-mono); font-size:8.5px; letter-spacing:.16em; padding:4px 8px;
  border-radius:5px; background:var(--hover); color:var(--ink2); white-space:nowrap; }
.tag--neon{ background:var(--neon); color:var(--neon-ink); }
.tag--ok{ color:var(--ok); } .tag--warn{ color:var(--warn); }
.pill{ display:inline-flex; align-items:center; gap:8px; height:32px; padding:0 14px; border-radius:999px;
  background:var(--sheet); box-shadow:inset 0 0 0 1px var(--line2);
  font-family:var(--font-mono); font-size:9.5px; letter-spacing:.18em; color:var(--ink2); }
.dot{ width:6px; height:6px; border-radius:50%; background:var(--neon); flex:none; }

/* --- fields --- */
.field-text,.field-select,.field-area{ width:100%; min-height:44px; padding:0 14px;
  border:1px solid var(--line2); border-radius:10px; background:var(--field); color:var(--ink);
  font-size:14px; outline:none; }
.field-area{ padding:14px; font-family:var(--font-mono); font-size:13.5px; line-height:1.7; resize:vertical; }
.field-mono{ font-family:var(--font-mono); }
.label{ display:flex; flex-direction:column; gap:7px; font-size:12px; color:var(--ink3); }

/* the search dock */
.dock{ display:flex; align-items:center; gap:8px; padding:8px 8px 8px 20px; border-radius:999px;
  background:var(--sheet); box-shadow:inset 0 0 0 1px var(--line2), inset 0 1px 0 var(--topline),
  0 26px 60px -32px rgba(16,18,22,.85);
  backdrop-filter:blur(28px) saturate(160%); -webkit-backdrop-filter:blur(28px) saturate(160%); }
.dock__input{ flex:1; min-width:0; border:0; outline:none; background:transparent; font-size:17px;
  letter-spacing:-.01em; padding:13px 4px; }
.dock--sm{ padding:6px 6px 6px 18px; }
.dock--sm .dock__input{ font-size:16px; padding:11px 4px; }

/* --- segmented controls --- */
.seg{ display:flex; align-items:center; gap:2px; padding:5px; border-radius:12px; background:var(--card);
  box-shadow:inset 0 0 0 1px var(--line2); overflow-x:auto; max-width:100%; }
.seg__btn{ min-height:30px; padding:0 11px; border-radius:8px; font-size:12px; color:var(--ink2);
  white-space:nowrap; transition:background .13s ease,color .13s ease; }
.seg__btn:hover{ background:var(--hover); }
.seg__btn[aria-pressed="true"]{ background:var(--neon-soft); color:var(--ink); font-weight:600; }
.seg__btn--mono{ font-family:var(--font-mono); min-width:44px; justify-content:center; }

/* --- tables --- */
.table{ background:var(--card); border-radius:var(--radius-l);
  box-shadow:inset 0 0 0 1px var(--line2), inset 0 1px 0 var(--topline); overflow-x:auto; }
.table__inner{ min-width:880px; }
.table__head,.table__row{ display:grid; gap:10px; align-items:center; padding:12px 18px;
  box-shadow:inset 0 -1px 0 var(--line); }
.table__row{ padding:11px 18px; transition:background .13s ease; }
.table__row:hover{ background:var(--hover); }
.table__row--me{ background:var(--neon-soft); }
.table__h{ font-family:var(--font-mono); font-size:8.5px; letter-spacing:.18em; color:var(--ink3); text-align:left; }
.table__h--sorted{ color:var(--ink); }
.right{ text-align:right; }

/* --- rows (results, bulk, feed) --- */
.row{ display:grid; gap:12px; align-items:center; min-height:56px; padding:8px 16px;
  border-radius:12px; background:var(--card); box-shadow:inset 0 0 0 1px var(--line);
  transition:box-shadow .14s ease; }
.row:hover{ box-shadow:inset 0 0 0 1px var(--line2); }
.row--taken{ opacity:.55; }
.row__name{ font-family:var(--font-mono); font-size:14.5px; min-width:0; overflow-wrap:anywhere; }
.row__name b{ font-weight:800; }
.state{ display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:600; }
.state--ok{ color:var(--ok); } .state--taken{ color:var(--ink3); } .state--premium{ color:var(--warn); }

/* --- accordions --- */
.acc{ border-radius:var(--radius-m); background:var(--card);
  box-shadow:inset 0 0 0 1px var(--line2), inset 0 1px 0 var(--topline); }
.acc__sum{ display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:16px 18px; font-size:15px; font-weight:600; letter-spacing:-.008em; min-height:52px; }
.acc__x{ flex:none; color:var(--neon); font-size:18px; line-height:1; transition:transform .2s ease; }
.acc[open] .acc__x{ transform:rotate(45deg); }
.acc__body{ margin:0; padding:0 18px 16px; font-size:14px; line-height:1.7; color:var(--ink2); max-width:70ch; }

/* --- grids --- */
.g2,.g3,.g4{ display:grid; gap:10px; }
.g2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.g3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.g4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.stack{ display:flex; flex-direction:column; gap:8px; }
.rowflex{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.spacer{ flex:1; }
.section{ padding-block:64px 0; }
.section:last-of-type{ padding-bottom:88px; }
.section--rule{ margin-top:64px; padding-block:60px; }
.section--tight{ padding-block:34px 0; }
.section--rule{ box-shadow:inset 0 1px 0 var(--line), inset 0 -1px 0 var(--line); }
.section--rule + .section{ padding-top:64px; }
