/* URSY.PHOTOS — this property's own surfaces: the print deck, steps, promise,
   the 5-up plans row, the family card. Estate chrome stays in landing.css. */
/* ── the photo table (hero demo — stack.js drives the physics) ──────────── */
.ursy-deckstage{ position:relative; }
.ursy-deck{ position:relative; height:min(550px,64vh); min-height:500px; overflow:hidden;
  border-radius:var(--radius-l); perspective:3000px; background:var(--photo-table);
  box-shadow:inset 0 0 0 1px var(--photo-table-line), inset 0 1px 0 var(--topline), var(--photo-table-shadow);
  user-select:none; -webkit-user-select:none; }
.ursy-photo-table::before{ content:"PHOTO TABLE"; position:absolute; left:18px; bottom:14px;
  font-family:var(--font-mono); font-size:8.5px; letter-spacing:.18em; color:var(--ink3); opacity:.55; }
.ursy-photo-card{ position:absolute; left:50%; top:50%; z-index:1; width:clamp(154px,34%,208px);
  padding:9px 9px 0; border-radius:var(--radius-m); background:var(--print); color:var(--print-ink);
  box-shadow:var(--photo-card-shadow); cursor:grab; touch-action:none; transform-style:preserve-3d;
  transform:translate(-50%,-50%); transform-origin:center; -webkit-user-drag:none;
  transition:box-shadow .2s ease, opacity .2s ease; }
.ursy-photo-card:nth-child(1){ left:18%; top:34%; transform:translate(-50%,-50%) rotate(-5deg); }
.ursy-photo-card:nth-child(2){ left:48%; top:25%; transform:translate(-50%,-50%) rotate(4deg); }
.ursy-photo-card:nth-child(3){ left:79%; top:35%; transform:translate(-50%,-50%) rotate(8deg); }
.ursy-photo-card:nth-child(4){ left:28%; top:72%; transform:translate(-50%,-50%) rotate(5deg); }
.ursy-photo-card:nth-child(5){ left:58%; top:70%; transform:translate(-50%,-50%) rotate(-7deg); }
.ursy-photo-card:nth-child(6){ left:86%; top:68%; transform:translate(-50%,-50%) rotate(3deg); }
.ursy-photo-card:hover{ box-shadow:var(--photo-card-shadow-hover); }
.ursy-photo-card.is-selected{ box-shadow:var(--photo-card-shadow-selected); }
.ursy-photo-card.is-dragging{ cursor:grabbing; box-shadow:var(--photo-card-shadow-active); will-change:transform; }
.ursy-photo-card__image{ position:relative; display:block; aspect-ratio:4/5; overflow:hidden;
  border-radius:calc(var(--radius-m) - 6px); background:var(--line); box-shadow:inset 0 0 0 1px var(--print-line); }
.ursy-photo-card__image img{ display:block; width:100%; height:100%; object-fit:cover; pointer-events:none; }
.ursy-photo-card__glare{ position:absolute; inset:0; pointer-events:none; opacity:var(--glare-opacity,0);
  background:radial-gradient(circle at var(--glare-x,50%) var(--glare-y,14%), var(--print-glare), transparent 48%);
  mix-blend-mode:screen; transition:opacity .16s ease; }
.ursy-photo-card__caption{ display:flex; align-items:baseline; gap:7px; padding:10px 2px 12px; text-align:left; }
.ursy-photo-card__caption b{ overflow:hidden; font-size:11.5px; font-weight:650; letter-spacing:-.01em;
  text-overflow:ellipsis; white-space:nowrap; }
.ursy-photo-card__caption i{ flex:1; min-width:4px; }
.ursy-photo-card__caption small{ flex:none; font-family:var(--font-mono); font-size:8.5px; letter-spacing:.08em; color:var(--print-ink2); }
/* The legacy throw stack remains for day/album stacks inside /app/. */
.ursy-print{ position:absolute; left:50%; top:50%; width:min(72%,296px); border-radius:12px;
  background:var(--print); box-shadow:var(--lift); padding:11px 11px 0; cursor:grab;
  will-change:transform; transform:translate(-50%,-50%); }
.ursy-print__plate{ aspect-ratio:1/1.04; border-radius:7px; position:relative; overflow:hidden;
  box-shadow:inset 0 0 0 1px var(--print-line); }
.ursy-print__plate::after{ content:""; position:absolute; inset:0;
  background:radial-gradient(130% 90% at 18% 8%, rgba(255,255,255,.32), transparent 48%); }
.ursy-print__caption{ display:flex; align-items:baseline; gap:8px; padding:11px 3px 13px; }
.ursy-print__caption b{ font-family:var(--font-mono); font-size:10px; font-weight:400;
  letter-spacing:.14em; color:var(--print-ink); }
.ursy-print__caption i{ font-style:normal; flex:1; }
.ursy-print__caption small{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:.1em; color:var(--print-ink2); }
.ursy-deck__chips{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; margin-top:14px; }
.ursy-deck__chip{ display:flex; align-items:center; gap:8px; min-height:44px; padding:0 13px; border-radius:999px;
  background:var(--card); box-shadow:inset 0 0 0 1px var(--line2), inset 0 1px 0 var(--topline);
  font-family:var(--font-mono); font-size:9.5px; letter-spacing:.14em; color:var(--ink2); }
.ursy-deck__chip i{ font-style:normal; width:5px; height:5px; border-radius:50%; background:var(--neon); }
.ursy-deck__chip--count{ color:var(--ink3); }
.ursy-deck__chip--btn{ background:transparent; transition:color .15s ease, box-shadow .15s ease; }
.ursy-deck__chip--btn:hover{ color:var(--neon); box-shadow:inset 0 0 0 1px var(--neon); }
.ursy-table-tools{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 12px;
  min-height:48px; margin-top:8px; color:var(--ink3); font-family:var(--font-mono); font-size:9px; letter-spacing:.08em; }
.ursy-table-tools__moves{ display:flex; flex-wrap:wrap; justify-content:center; gap:5px; }
.ursy-table-tools button{ min-width:44px; height:44px; padding:0 12px; border-radius:11px; color:var(--ink2);
  background:var(--card); box-shadow:inset 0 0 0 1px var(--line); transition:color .15s ease, background .15s ease; }
.ursy-table-tools button:hover:not(:disabled){ color:var(--ink); background:var(--hover); }
.ursy-table-tools button:disabled{ opacity:.38; cursor:not-allowed; }
/* ── steps + honest note ────────────────────────────────────────────────── */
.ursy-step{ display:grid; place-items:center; width:34px; height:34px; border-radius:10px;
  background:var(--neon-soft); color:var(--ink); font-family:var(--font-mono); font-size:13px; }
.ursy-honest{ margin:18px 0 0; text-align:center; font-size:12px; color:var(--ink3); }
/* ── plans: five across (photos-specific; email had three) ──────────────── */
.ursy-plans{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; align-items:start; }
.ursy-plans .ursy-plan{ padding:22px 18px; }
.ursy-plans .ursy-plan h3{ font-size:18px; }
.ursy-plans .ursy-plan__who{ min-height:40px; font-size:12.5px; }
.ursy-plans .ursy-plan__price strong{ font-size:28px; }
.ursy-plans .ursy-plan li{ font-size:12.5px; }
.ursy-plan__locked{ margin-top:18px; height:44px; color:var(--ink3); cursor:default;
  box-shadow:inset 0 0 0 1px var(--line); font-size:13px; }
.ursy-plans__note{ margin:20px auto 0; text-align:center; font-size:11.5px; line-height:1.6;
  color:var(--ink3); max-width:76ch; }
.ursy-displayonly{ display:inline-flex; align-items:center; gap:8px; height:34px; padding:0 14px;
  margin-top:18px; border-radius:999px; box-shadow:inset 0 0 0 1px var(--line2);
  font-family:var(--font-mono); font-size:10px; letter-spacing:.12em; color:var(--ink2); }
.ursy-displayonly i{ font-style:normal; width:6px; height:6px; border-radius:50%; background:var(--warn); }
/* ── promise cards ──────────────────────────────────────────────────────── */
.ursy-promise__p{ margin:8px 0 0; font-size:12.5px; line-height:1.6; color:var(--ink2); }
.u-glyph--photos{ background:color-mix(in oklab, var(--m-photos) 15%, transparent); color:var(--m-photos); }
/* ── family page ────────────────────────────────────────────────────────── */
.ursy-family__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.95fr);
  gap:clamp(28px,4vw,54px); align-items:center; }
.ursy-family__card{ display:grid; gap:10px; padding:20px; border-radius:18px; background:var(--sheet);
  box-shadow:var(--lift), inset 0 0 0 1px var(--line2), inset 0 1px 0 var(--topline); }
.ursy-family__head{ display:flex; align-items:center; gap:10px; font-family:var(--font-mono);
  font-size:9px; letter-spacing:.18em; color:var(--ink3); }
.ursy-meter{ height:6px; border-radius:999px; background:var(--line); overflow:hidden; }
.ursy-meter span{ display:block; height:100%; border-radius:999px;
  background:linear-gradient(90deg, var(--o1), var(--o2)); }
.ursy-family__rows{ display:grid; gap:6px; }
.ursy-family__row{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:11px;
  background:var(--card); box-shadow:inset 0 0 0 1px var(--line); }
.ursy-family__row i{ font-style:normal; width:26px; height:26px; flex:none; display:grid;
  place-items:center; border-radius:50%; font-family:var(--font-mono); font-size:10px; }
.ursy-family__row b{ font-size:12.5px; font-weight:600; }
.ursy-family__row em{ font-style:normal; font-size:11px; color:var(--ink3); }
.ursy-family__row small{ font-family:var(--font-mono); font-size:10px; color:var(--ink2); }
.ursy-family__row--free i{ box-shadow:inset 0 0 0 1px var(--line2); color:var(--ink3); font-size:12px; }
.ursy-family__row--free b{ font-weight:500; color:var(--ink3); }
.ursy-family__chips{ display:flex; flex-wrap:wrap; gap:8px; padding-top:4px; }
.ursy-family__chips .u-tag b{ font-weight:400; color:var(--ink2); }
