77 lines
5.1 KiB
CSS
77 lines
5.1 KiB
CSS
:root {
|
|
--color-bg: #f7f7f5;
|
|
--color-surface: #ffffff;
|
|
--color-surface-alt: #f0f1ef;
|
|
--color-text: #151715;
|
|
--color-muted: #686c6a;
|
|
--color-border: #dedfdb;
|
|
--color-accent: #1f5eff;
|
|
--color-accent-dark: #1746bd;
|
|
--radius-sm: 4px;
|
|
--radius-md: 8px;
|
|
--radius-lg: 12px;
|
|
--shadow-sm: 0 1px 2px rgba(20, 23, 20, .04);
|
|
--shadow-md: 0 10px 30px rgba(20, 23, 20, .08);
|
|
}
|
|
|
|
* { box-sizing: border-box; }
|
|
html { scroll-behavior: smooth; }
|
|
body {
|
|
background: var(--color-bg);
|
|
color: var(--color-text);
|
|
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
letter-spacing: -0.01em;
|
|
}
|
|
a { color: var(--color-accent); text-decoration-thickness: .08em; text-underline-offset: .18em; }
|
|
a:hover { color: var(--color-accent-dark); }
|
|
.site-header { background: rgba(247, 247, 245, .92); border-bottom: 1px solid var(--color-border); backdrop-filter: blur(10px); }
|
|
.navbar { min-height: 64px; }
|
|
.navbar-brand { display: inline-flex; align-items: center; gap: .55rem; font-weight: 650; color: var(--color-text); }
|
|
.brand-mark { display: inline-grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--color-text); border-radius: var(--radius-sm); font-size: .72rem; letter-spacing: .04em; }
|
|
.hero-section { background: var(--color-bg); }
|
|
.eyebrow { color: var(--color-muted); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
|
|
.lead { font-size: 1.05rem; }
|
|
.btn { border-radius: var(--radius-sm); font-weight: 650; padding: .55rem .8rem; }
|
|
.btn-sm { padding: .42rem .62rem; }
|
|
.btn-primary { background: var(--color-accent); border-color: var(--color-accent); }
|
|
.btn-primary:hover, .btn-primary:focus { background: var(--color-accent-dark); border-color: var(--color-accent-dark); }
|
|
.btn-dark { background: var(--color-text); border-color: var(--color-text); }
|
|
.btn-outline-secondary { color: var(--color-text); border-color: var(--color-border); background: var(--color-surface); }
|
|
.btn-outline-secondary:hover { background: var(--color-surface-alt); color: var(--color-text); border-color: #c9cac6; }
|
|
.search-panel, .metric-card, .listing-card, .detail-card, .detail-sidebar, .form-card, .empty-state, .notice-card {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
.search-panel { padding: 1rem; }
|
|
.metric-card, .detail-sidebar, .form-card, .empty-state { padding: 1.25rem; }
|
|
.detail-card { padding: 1.5rem; }
|
|
.listing-card { position: relative; padding: 1.1rem; transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease; }
|
|
.listing-card:hover { border-color: #c3c5bf; transform: translateY(-2px); box-shadow: var(--shadow-md); }
|
|
.listing-card h3 a { color: var(--color-text); text-decoration: none; }
|
|
.category-chip, .status-pill { display: inline-flex; align-items: center; border-radius: 999px; font-size: .75rem; font-weight: 700; line-height: 1; padding: .42rem .58rem; }
|
|
.category-chip { background: var(--color-surface-alt); color: #2c302d; border: 1px solid var(--color-border); }
|
|
.status-pill { background: #eef4ff; color: #1847a3; border: 1px solid #d7e4ff; }
|
|
.status-pending { background: #fff8e6; color: #785300; border-color: #f2dfaa; }
|
|
.metric-number { display: block; font-size: 3rem; line-height: 1; letter-spacing: -.06em; }
|
|
.map-shell { position: relative; min-height: 188px; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background-color: #edeee9; background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 28 28"%3E%3Cpath d="M0 0H28M0 0V28" fill="none" stroke="%23dfe1dc" stroke-width="1"/%3E%3C/svg%3E'); background-size: 28px 28px; }
|
|
.map-shell.compact { min-height: 150px; }
|
|
.pin { position: absolute; width: 12px; height: 12px; background: var(--color-accent); border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 5px rgba(31, 94, 255, .14); }
|
|
.pin-one { top: 28%; left: 22%; } .pin-two { top: 52%; left: 58%; } .pin-three { top: 36%; left: 78%; }
|
|
.listing-meta { display: grid; gap: .25rem; color: var(--color-muted); font-size: .92rem; }
|
|
.clamp { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
|
|
.subtle-link { font-weight: 700; font-size: .92rem; }
|
|
.empty-state { text-align: center; padding: 2.25rem 1.25rem; }
|
|
.notice-card { padding: 1rem; }
|
|
.form-label { color: #383b38; font-size: .86rem; font-weight: 650; }
|
|
.form-control, .form-select { border-color: var(--color-border); border-radius: var(--radius-sm); padding: .62rem .72rem; }
|
|
.form-control:focus, .form-select:focus { border-color: var(--color-accent); box-shadow: 0 0 0 .2rem rgba(31, 94, 255, .12); }
|
|
.toast-line { margin-bottom: 1rem; border: 1px solid #cfe2d1; background: #f2fbf3; color: #1d5124; border-radius: var(--radius-md); padding: .85rem 1rem; transition: opacity .2s ease; }
|
|
.toast-line.is-hiding { opacity: 0; }
|
|
.site-footer { background: var(--color-surface); }
|
|
@media (max-width: 767.98px) {
|
|
.display-6 { font-size: 2rem; }
|
|
.search-panel, .metric-card, .detail-card, .detail-sidebar, .form-card { padding: 1rem; }
|
|
}
|