mirror of
https://github.com/agentscope-ai/ReMe.git
synced 2026-08-28 05:25:04 +00:00
156 lines
6.4 KiB
CSS
156 lines
6.4 KiB
CSS
:root {
|
|
--ml-radius: .75rem;
|
|
--ml-gap: 1rem;
|
|
--ml-shadow: 0 6px 24px rgba(0,0,0,.08);
|
|
}
|
|
.ml-prose-container { display: grid; gap: var(--ml-gap); }
|
|
.ml-card {
|
|
background: var(--background, #fff);
|
|
color: var(--foreground, #0a0a0a);
|
|
border: 1px solid var(--border, rgba(0,0,0,.08));
|
|
border-radius: var(--ml-radius);
|
|
padding: 1rem;
|
|
box-shadow: var(--shadow, 0 1px 0 rgba(0,0,0,.02));
|
|
}
|
|
|
|
/* general card/grid */
|
|
.ml-grid {
|
|
display: grid;
|
|
gap: var(--ml-gap);
|
|
grid-template-columns: repeat(1, minmax(0,1fr));
|
|
}
|
|
@media (min-width: 640px){ .ml-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
|
|
@media (min-width: 1024px){ .ml-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); } }
|
|
|
|
/* libraries stacked (categories vertical, libraries 1 per row) */
|
|
.ml-stacked { display: grid; gap: 1.25rem; }
|
|
.ml-section{ display:grid; gap:.5rem; }
|
|
.ml-section h3{ margin:.25rem 0; font-size:1.05rem; font-weight:700; opacity:.85; display:flex; gap:.5rem; align-items:center; }
|
|
|
|
.ml-card-item{
|
|
background: var(--card, var(--background, #fff));
|
|
border: 1px solid var(--border, rgba(0,0,0,.08));
|
|
border-radius: var(--ml-radius);
|
|
padding: 1rem;
|
|
transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
|
|
cursor: pointer;
|
|
}
|
|
.ml-card-item:hover{
|
|
transform: translateY(-2px);
|
|
box-shadow: var(--ml-shadow);
|
|
border-color: var(--primary, #3b82f6);
|
|
}
|
|
.ml-card-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; margin-bottom:.5rem; }
|
|
.ml-card-title{ font-weight: 650; font-size: 1rem; }
|
|
.ml-card-sub{ font-size: .85rem; opacity: .7; }
|
|
.ml-card-sample{ margin-top:.5rem; font-size:.92rem; line-height:1.5; opacity:.9; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
|
|
.ml-card-foot{ display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--border, rgba(0,0,0,.08)); padding-top:.5rem; margin-top:.75rem; font-size:.85rem; opacity:.8; }
|
|
|
|
/* toolbar */
|
|
.ml-toolbar{ display:flex; gap:.75rem; align-items:center; justify-content:space-between; flex-wrap:wrap; }
|
|
.ml-input-wrap{ position:relative; flex:1; min-width: 260px; }
|
|
.ml-input-wrap input{
|
|
width:100%; padding:.6rem .9rem .6rem 2.2rem; border-radius:.6rem;
|
|
border:1px solid var(--border, rgba(0,0,0,.12));
|
|
background: var(--muted, rgba(0,0,0,.02));
|
|
color: var(--foreground, #0a0a0a);
|
|
outline:none;
|
|
}
|
|
.ml-input-wrap input:focus{
|
|
border-color: var(--primary, #3b82f6);
|
|
box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, #3b82f6) 22%, transparent);
|
|
background: var(--background, #fff);
|
|
}
|
|
.ml-icon{ position:absolute; left:.6rem; top:50%; transform:translateY(-50%); width:1.1rem; height:1.1rem; opacity:.6; }
|
|
|
|
.ml-btn{
|
|
border:1px solid var(--border, rgba(0,0,0,.12));
|
|
background: var(--accent, var(--background, #fff));
|
|
color: var(--foreground, #0a0a0a);
|
|
padding:.55rem .9rem; border-radius:.55rem; cursor:pointer;
|
|
}
|
|
.ml-btn.secondary{ background: var(--muted, rgba(0,0,0,.03)); }
|
|
.ml-btn:hover{ border-color: var(--primary, #3b82f6); }
|
|
|
|
/* stats/breadcrumb */
|
|
.ml-stats{ margin-top:.5rem; font-size:.9rem; opacity:.8; }
|
|
.ml-crumb{ display:flex; align-items:center; gap:.75rem; }
|
|
.ml-link{ background:none; border:none; color: var(--primary, #3b82f6); cursor:pointer; padding:.25rem .5rem; border-radius:.4rem; }
|
|
.ml-link:hover{ text-decoration: underline; }
|
|
.ml-crumb-title{ font-weight:600; opacity:.8; }
|
|
|
|
/* states */
|
|
.ml-loading, .ml-error, .ml-empty{ display:grid; justify-items:center; gap:.5rem; padding:3rem 1rem; }
|
|
.ml-spinner{
|
|
width:38px; height:38px; border-radius:999px; border:3px solid color-mix(in srgb, var(--foreground,#000) 12%, transparent);
|
|
border-top-color: var(--primary,#3b82f6); animation: ml-spin 1s linear infinite;
|
|
}
|
|
@keyframes ml-spin{ to{ transform: rotate(360deg); } }
|
|
.ml-muted{ opacity:.7; }
|
|
.ml-error-icon{ font-size:1.4rem; }
|
|
|
|
/* chips */
|
|
.ml-chip{ display:inline-block; padding:.25rem .55rem; border-radius:999px; font-size:.78rem;
|
|
background: color-mix(in srgb, var(--primary,#3b82f6) 12%, transparent); color: var(--primary,#3b82f6);
|
|
}
|
|
.ml-chip.success{
|
|
background: color-mix(in srgb, #16a34a 14%, transparent);
|
|
color: #16a34a;
|
|
}
|
|
.ml-chip.beta{
|
|
background: color-mix(in srgb, #f59e0b 14%, transparent);
|
|
color: #b45309;
|
|
}
|
|
.ml-chip.contribute {
|
|
background: color-mix(in srgb, #3b82f6 14%, transparent);
|
|
color: #1d4ed8;
|
|
}
|
|
|
|
/* code/note */
|
|
.ml-code{
|
|
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
|
|
background: var(--muted, rgba(0,0,0,.04)); border:1px solid var(--border, rgba(0,0,0,.08));
|
|
padding:.75rem; border-radius:.6rem; white-space:pre-wrap;
|
|
}
|
|
.ml-note{
|
|
background: color-mix(in srgb, #f59e0b 9%, transparent);
|
|
border:1px solid color-mix(in srgb, #f59e0b 28%, transparent);
|
|
padding:.75rem; border-radius:.6rem;
|
|
}
|
|
|
|
/* meta */
|
|
.ml-meta{ display:grid; grid-template-columns: repeat(1, minmax(0,1fr)); gap:.5rem; }
|
|
@media (min-width: 640px){ .ml-meta{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
|
|
.ml-meta > div{ display:flex; justify-content:space-between; align-items:center; padding:.5rem .75rem;
|
|
border:1px dashed var(--border, rgba(0,0,0,.12)); border-radius:.5rem; background: var(--background, #fff);
|
|
}
|
|
.ml-meta span{ opacity:.7; }
|
|
.mono{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
|
|
|
|
/* modal */
|
|
.ml-modal{ padding:0; border:none; background: transparent; }
|
|
.ml-modal[open]{ display:grid; align-items:center; justify-items:center; }
|
|
.ml-modal::backdrop{ background: rgba(0,0,0,.45); }
|
|
.ml-modal-card{
|
|
width:min(100%, 960px); max-height: 85vh; overflow:auto;
|
|
background: var(--background, #fff); color: var(--foreground,#0a0a0a);
|
|
border:1px solid var(--border, rgba(0,0,0,.1)); border-radius: var(--ml-radius);
|
|
padding: 1rem; box-shadow: var(--ml-shadow);
|
|
}
|
|
.ml-modal-header{ display:flex; justify-content:space-between; align-items:center; gap:.75rem; margin-bottom:.5rem; }
|
|
.ml-close{ border:none; background:none; font-size:1.1rem; cursor:pointer; opacity:.6; }
|
|
.ml-close:hover{ opacity:1; }
|
|
.ml-modal-section{ display:grid; gap:.35rem; margin-top:.75rem; }
|
|
.ml-section-title{ font-weight:650; opacity:.85; }
|
|
.ml-modal-footer{ display:flex; justify-content:flex-end; margin-top:1rem; }
|
|
|
|
/* pagination */
|
|
.ml-pagination{
|
|
display:flex; justify-content:space-between; align-items:center;
|
|
padding:.5rem .25rem;
|
|
}
|
|
.ml-page-controls{ display:flex; gap:.5rem; }
|
|
.ml-page-info{ font-size:.9rem; opacity:.8; }
|
|
[hidden] {
|
|
display: none !important;
|
|
}
|