.shl-scrim{
  position:fixed; inset:0; z-index:100000;
  display:flex; align-items:center; justify-content:center;
  padding:clamp(12px,3vw,32px);
  background:rgba(8,10,16,.62); backdrop-filter:blur(3px);
}
.shl-card{
  width:min(38rem,100%); max-height:min(90vh,44rem); overflow:auto;
  background:var(--card-solid,var(--card,#fff)); color:var(--text-1,#12151c);
  border:1px solid var(--border,#e3e7ee); border-radius:clamp(12px,1.4vw,18px);
  box-shadow:0 24px 70px rgba(10,16,32,.30);
}
.shl-head{
  display:flex; align-items:flex-start; gap:clamp(8px,1.4vw,16px);
  padding:clamp(14px,2vw,22px) clamp(16px,2.2vw,24px) clamp(10px,1.4vw,14px);
  border-bottom:1px solid var(--border,#e3e7ee);
}
.shl-title{ font-size:clamp(1rem,1.5vw,1.18rem); font-weight:800; letter-spacing:-.01em; }
.shl-sub{ margin-top:.25rem; font-size:clamp(.74rem,1vw,.84rem); color:var(--text-2,#5b6577); line-height:1.45; }
.shl-x{
  margin-left:auto; flex:0 0 auto; cursor:pointer;
  width:clamp(26px,2.4vw,32px); height:clamp(26px,2.4vw,32px);
  display:grid; place-items:center; font-size:1.2rem; line-height:1;
  background:transparent; border:1px solid var(--border,#e3e7ee); border-radius:8px;
  color:var(--text-2,#5b6577);
}
.shl-x:hover{ background:var(--surface-2,#f3f5f9); }
.shl-body{ padding:clamp(14px,2vw,22px) clamp(16px,2.2vw,24px) clamp(16px,2.2vw,24px); }
.shl-loading{ color:var(--text-2,#5b6577); font-size:.85rem; padding:clamp(8px,1.4vw,14px) 0; }

.shl-linkrow{ display:flex; gap:clamp(6px,.9vw,10px); align-items:stretch; }
.shl-url{
  flex:1 1 auto; min-width:0;
  padding:clamp(8px,1.1vw,12px) clamp(10px,1.2vw,14px);
  font-family:inherit;
  font-size:clamp(.7rem,.95vw,.82rem);
  background:var(--surface-2,#f6f8fb); color:var(--text-1,#12151c);
  border:1px solid var(--border,#e3e7ee); border-radius:10px;
}
.shl-field{ margin-bottom:clamp(10px,1.4vw,16px); }
.shl-field label{ display:block; font-size:clamp(.74rem,1vw,.84rem); font-weight:700; margin-bottom:.4rem; }
.shl-select{
  width:100%; padding:clamp(8px,1.1vw,12px) clamp(10px,1.2vw,14px);
  font-size:clamp(.78rem,1vw,.88rem);
  background:var(--surface-2,#f6f8fb); color:var(--text-1,#12151c);
  border:1px solid var(--border,#e3e7ee); border-radius:10px;
}
.shl-meta{
  margin-top:clamp(8px,1.2vw,12px);
  font-size:clamp(.72rem,.95vw,.8rem); color:var(--text-2,#5b6577);
  display:flex; align-items:center; gap:.4rem;
}
.shl-note{
  margin-top:clamp(10px,1.4vw,14px);
  padding:clamp(8px,1.1vw,12px) clamp(10px,1.2vw,14px);
  background:var(--surface-2,#f6f8fb); border:1px solid var(--border,#e3e7ee);
  border-radius:10px; font-size:clamp(.72rem,.95vw,.8rem); color:var(--text-2,#5b6577);
  line-height:1.5; display:flex; gap:.5rem; align-items:flex-start;
}
.shl-note .ic, .shl-meta .ic{ flex:0 0 auto; width:1em; height:1em; margin-top:.15em; }
.shl-error{
  margin-bottom:clamp(10px,1.4vw,14px);
  padding:clamp(8px,1.1vw,12px) clamp(10px,1.2vw,14px);
  background:color-mix(in srgb,var(--red,#e0392b) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--red,#e0392b) 35%,transparent);
  border-radius:10px; font-size:clamp(.74rem,.95vw,.82rem); line-height:1.5;
  display:flex; gap:.5rem; align-items:flex-start;
}
.shl-actions{ display:flex; gap:clamp(6px,.9vw,10px); margin-top:clamp(12px,1.6vw,18px); flex-wrap:wrap; }
.shl-btn{
  cursor:pointer; padding:clamp(8px,1.1vw,12px) clamp(12px,1.6vw,18px);
  font-size:clamp(.76rem,1vw,.85rem); font-weight:700;
  background:var(--surface-2,#f6f8fb); color:var(--text-1,#12151c);
  border:1px solid var(--border,#e3e7ee); border-radius:10px;
}
.shl-btn:hover{ background:var(--surface-3,#eef1f6); }
.shl-btn[disabled]{ opacity:.6; cursor:default; }
.shl-primary{ background:var(--accent,#1a9e57); border-color:transparent; color:#fff; }
.shl-primary:hover{ filter:brightness(1.06); background:var(--accent,#1a9e57); }
.shl-danger{ background:transparent; border-color:color-mix(in srgb,var(--red,#e0392b) 45%,transparent); color:var(--red,#e0392b); }
.shl-danger:hover{ background:color-mix(in srgb,var(--red,#e0392b) 10%,transparent); }

@media (max-width:34rem){
  .shl-linkrow{ flex-direction:column; }
  .shl-actions .shl-btn{ flex:1 1 auto; }
}

body.canvas-share-mode .estat{ display:none !important; }
