feat: theme atlas and state components
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s

This commit is contained in:
ik
2026-09-13 15:52:03 +07:00
parent 703a0ba32f
commit 4f5fb6d7c2
7 changed files with 34 additions and 12 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
.data-passport{margin-top:18px;padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--surface-soft);color:var(--deep)}
.data-passport header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.data-passport header>span{font:italic 15px Georgia,serif}.data-passport header strong{padding:4px 8px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.data-passport header strong[data-passport-status="unverified"]{background:#e8e2f4;color:#59438d}.data-passport header strong[data-passport-status="incomplete"]{background:var(--warning-soft);color:var(--warning)}
.data-passport header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.data-passport header>span{font:italic 15px Georgia,serif}.data-passport header strong{padding:4px 8px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.data-passport header strong[data-passport-status="unverified"]{background:var(--info-soft);color:var(--info)}.data-passport header strong[data-passport-status="incomplete"]{background:var(--warning-soft);color:var(--warning)}
.data-passport__sources{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.data-passport dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}.data-passport dl div{padding-top:8px;border-top:1px solid var(--border-soft)}.data-passport dt{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle)}.data-passport dd{margin:3px 0 0;font:400 12px Georgia,serif;color:var(--deep)}
.detail-card .data-passport,.detail-grid aside .data-passport{border-color:#ffffff20;background:#ffffff08;color:#fff}.detail-card .data-passport dd,.detail-grid aside .data-passport dd{color:#fff}.detail-card .data-passport dl div,.detail-grid aside .data-passport dl div{border-color:#ffffff1c}.detail-card .data-passport dt,.detail-grid aside .data-passport dt{color:#a9b8b5}.signal-card .data-passport{position:relative;z-index:1;margin-top:15px;background:#fffdf7;border-color:#ddd3af}
@media(max-width:420px){.data-passport dl{grid-template-columns:1fr}.data-passport dl div{display:flex;justify-content:space-between;gap:10px}}
+1 -1
View File
@@ -1 +1 @@
.loading-grid{display:grid;gap:18px}.loading-card{position:relative;overflow:hidden;min-height:210px;padding:25px;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface)}.loading-card:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(100deg,transparent 20%,var(--surface-soft) 48%,transparent 76%);animation:loading-sweep calc(var(--motion-signal) - 1000ms) ease-in-out infinite}.loading-line{display:block;width:100%;height:13px;margin-top:18px;border-radius:999px;background:#e7ede7}.loading-line--label{width:22%;height:9px;margin-top:0;background:#d8e2d8}.loading-line--title{width:48%;height:30px;margin-top:24px}.loading-line--short{width:64%}.moderation-list[aria-busy="true"]{cursor:progress}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@keyframes loading-sweep{to{transform:translateX(100%)}}@media(prefers-reduced-motion:reduce){.loading-card:after{animation:none;background:#f7faf533}}
.loading-grid{display:grid;gap:18px}.loading-card{position:relative;overflow:hidden;min-height:210px;padding:25px;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface)}.loading-card:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(100deg,transparent 20%,var(--surface-soft) 48%,transparent 76%);animation:loading-sweep calc(var(--motion-signal) - 1000ms) ease-in-out infinite}.loading-line{display:block;width:100%;height:13px;margin-top:18px;border-radius:999px;background:var(--skeleton)}.loading-line--label{width:22%;height:9px;margin-top:0;background:var(--skeleton-strong)}.loading-line--title{width:48%;height:30px;margin-top:24px}.loading-line--short{width:64%}.moderation-list[aria-busy="true"]{cursor:progress}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@keyframes loading-sweep{to{transform:translateX(100%)}}@media(prefers-reduced-motion:reduce){.loading-card:after{animation:none;background:color-mix(in srgb,var(--surface-soft) 35%,transparent)}}
+23 -1
View File
@@ -29,6 +29,12 @@
--warning-soft: light-dark(#fff0c7, #46391d);
--danger: light-dark(#842f25, #ffafa3);
--danger-soft: light-dark(#f5d8d2, #4b2928);
--info: light-dark(#59438d, #c9baf2);
--info-soft: light-dark(#e8e2f4, #302844);
--accent-muted: light-dark(#6d8d2a, #c0e562);
--decorative-water: light-dark(#315f63, #72a9ad);
--skeleton: light-dark(#e7ede7, #1c3537);
--skeleton-strong: light-dark(#d8e2d8, #294548);
}
:root[data-theme="light"] { color-scheme: light; }
@@ -63,7 +69,7 @@
.alpha-banner strong { color: var(--text-primary); }
.alpha-banner__cta { background: light-dark(var(--deep), var(--lime)); color: light-dark(#fff, #082226); }
.spot-card:hover { background: var(--surface-raised); border-color: #6f8988; box-shadow: 0 18px 40px var(--shadow-color); }
.spot-card:hover { background: var(--surface-raised); border-color: var(--border-strong); box-shadow: 0 18px 40px var(--shadow-color); }
.report-form input, .report-form textarea, .report-form select,
.moderation-actions textarea { background: var(--surface-control); color: var(--text-primary); border-color: var(--border-strong); }
.record-head, .no-proof { background: var(--surface-raised); }
@@ -98,6 +104,22 @@
.timeline-chart { border-color: var(--border-strong); background: repeating-linear-gradient(to top, transparent 0, transparent 35px, var(--border-subtle) 36px); }
.timeline-slot strong { color: var(--text-primary); }
.timeline-slot small, .activity-legend { color: var(--text-tertiary); }
.catalog-hero { border-color: var(--border-strong); }
.catalog-hero p, .catalog-results aside a, .catalog-grid span { color: var(--text-secondary); }
.catalog-results aside { background: var(--surface-elevated); border-color: var(--border-subtle); }
.catalog-results aside a { border-color: var(--border-subtle); }
.catalog-grid > a { background: linear-gradient(145deg,var(--surface-elevated),var(--surface-raised)); border-color: var(--border-subtle); }
.catalog-grid > a:hover { border-color: var(--border-strong); box-shadow: 0 14px 30px var(--shadow-color); }
.catalog-grid i, .catalog-grid > a > i b { color: var(--accent-muted); }
.waterbody-mark, .fish-silhouette { color: var(--decorative-water); stroke: currentColor; }
.signal-more, .load-more { color: var(--text-secondary); background: var(--surface-elevated); border-color: var(--border-strong); box-shadow: 0 8px 22px var(--shadow-color); }
.signal-more span, .load-more span { color: var(--text-secondary); }
.signal-more:hover, .load-more:hover { background: var(--surface-raised); border-color: var(--border-strong); }
.state { color: var(--text-secondary); border-color: var(--border-strong); }
.state::before { border-color: var(--border-strong); }
.state::after { border-color: var(--decorative-water); box-shadow: 0 -7px 0 -6px var(--decorative-water),0 7px 0 -6px var(--decorative-water); }
.data-passport header strong[data-passport-status="unverified"] { background: var(--info-soft); color: var(--info); }
@media print {
:root { color-scheme: light; }
}