:root{
  --bg:#f7f8fb; --text:#1a1d2a; --muted:#5e657a; --accent:#2d6cdf;
  --card:#fff; --border:#e6e8ef; --shadow:0 3px 10px rgba(16,24,40,.05);
  --radius:7px; --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;

  --base-font:12.5px;      /* compact */
  --item-pad-v:4px;        /* tighter items */
  --item-pad-h:6px;
  --gap-outer:6px;         /* tighter vertical gaps */
  --url-font:10.25px;
  --code-font:10.25px;
  --column-min:360px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:
    radial-gradient(900px 450px at 10% -10%, #e9efff 0%, transparent 60%),
    radial-gradient(800px 400px at 90% -10%, #ecf4ff 0%, transparent 60%),
    linear-gradient(180deg,#f9fbff,#f7f8fb 60%);
  font-size:var(--base-font);
}

.container{max-width:1360px;margin:0 auto;padding:12px 10px 18px}

.header{text-align:center;margin-bottom:6px}
.header h1{margin:0 0 2px;font-size:clamp(20px,3vw,26px)}
.header p{margin:0;color:var(--muted)}

.toolbar{margin-top:6px;display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.toolbar .btn{padding:4px 8px}
.toolbar .divider{width:1px;height:16px;background:var(--border);margin:0 2px}

.permalink{margin-top:6px;display:inline-flex;align-items:center;gap:6px}
.permalink-input{
  width:min(680px,76vw);border:1px solid var(--border);background:#fbfcff;padding:4px 6px;border-radius:6px;
  font-size:12px;color:var(--text)
}

/* Cards */
.input-card,.links-card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:8px;margin-top:var(--gap-outer)
}

/* Single row inputs bar: 3 fields + tools @ 25% width */
.inputs-bar{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr minmax(280px, 0.25fr);
  gap:6px;
  align-items:end;
}
@media (max-width:1100px){
  .inputs-bar{ grid-template-columns:1fr; }
}

.bar-group{display:flex;flex-direction:column;gap:2px;min-width:0}
.bar-row{display:grid;grid-template-columns:1fr auto;gap:6px}
.tools-row{
  display:grid;
  grid-template-columns: 1fr auto auto; /* search | recent | save */
  gap:6px;
}

.label.small{font-weight:600;font-size:11.5px;margin:0 2px 2px}

.input,.select{
  width:100%;padding:6px 7px;border:1px solid var(--border);background:#fbfcff;color:var(--text);
  border-radius:6px;outline:none;font-size:12px;transition:border-color .15s,box-shadow .15s,background .15s
}
.input.slim,.select.slim{padding:4px 6px}
.search-input{min-width:120px;max-width:100%}

.input:focus,.select:focus{
  border-color:#c9d8ff;box-shadow:0 0 0 3px rgba(45,108,223,.15);background:#fff
}

.btn{
  border:1px solid var(--border);background:#f5f7fd;color:var(--text);
  padding:4px 8px;border-radius:6px;font-weight:600;cursor:pointer;transition:transform .08s,background .15s,border-color .15s;
  font-size:12px
}
.btn:hover{background:#eef2fb}
.btn:active{transform:translateY(1px)}
.btn.ghost{color:var(--muted);background:#f8f9ff}
.btn.sm{padding:3px 7px;font-size:11.5px}

.help{margin:2px 2px 0;color:var(--muted);font-size:11.5px}

/* Content columns */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-outer)}
@media (max-width:1100px){.grid-2{grid-template-columns:1fr}}

.links-title{margin:0 0 3px;font-size:13.25px}

/* Lists: very tight */
.links-list{
  list-style:none;margin:0;padding:0;display:grid;gap:2px;
  grid-template-columns:repeat(auto-fill,minmax(var(--column-min),1fr))
}
@media (max-width:900px){.links-list{grid-template-columns:1fr}}

.link-item{
  display:flex;align-items:center;justify-content:space-between;gap:6px;
  padding:var(--item-pad-v) var(--item-pad-h);
  border:1px solid var(--border);border-radius:6px;background:#fff;min-width:0
}

.link-meta{display:flex;align-items:center;gap:6px;min-width:0}

.badge{
  font-size:10.25px;font-weight:700;letter-spacing:.3px;padding:2px 6px;border:1px solid var(--border);
  border-radius:999px;background:#f5f7fd;color:#2c3e75;white-space:nowrap;flex:0 0 auto
}

.status-dot{width:8px;height:8px;border-radius:999px;border:1px solid var(--border);flex:0 0 auto}
.status-green{background:#12b981}.status-red{background:#ef4444}.status-gray{background:#cbd5e1}

/* Single-line with ellipsis (generated items AND "Needs more info") */
.link-text{
  min-width:0;
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#1b3a78;
  font-size:var(--url-font);
}
.link-text .a{
  display:inline-block;max-width:100%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:inherit;color:#1b3a78;text-decoration:none;font-weight:600;
}
.a:hover{text-decoration:underline}

.actions{display:flex;gap:6px;flex:0 0 auto}
.copy{border:1px solid var(--border);background:#f5f7fd;color:var(--text);border-radius:6px;padding:4px 6px;font-size:11.5px;cursor:pointer}
.copy:active{transform:translateY(1px)}

.empty{margin:2px 2px 0;color:var(--muted);font-style:italic}

.dim{opacity:.9}
.missing-pill{border:1px dashed var(--border);padding:1px 6px;border-radius:999px;font-size:10.25px;color:var(--muted)}

.muted-note{color:var(--muted);font-size:11.5px}
.compact .links-title{margin-bottom:2px}
.compact-list .link-item{padding:4px 6px;gap:6px}
.compact-head{display:flex;align-items:center;gap:8px}
.compact-head .links-title{margin-right:auto}

/* Commands */
pre.code{
  font-family:var(--mono);font-size:var(--code-font);line-height:1.22;background:#fbfcff;border:1px solid var(--border);
  padding:5px 6px;border-radius:6px;color:#0f172a;margin:0;max-width:100%;overflow:auto;white-space:pre; /* single line, scroll */
}
pre.code>code{font-family:inherit;font-size:inherit;white-space:pre}

.footer{text-align:center;margin-top:8px;color:var(--muted)}
