yyh1112's picture
Upload 30 files
82d4e48 verified
Raw
History Blame Contribute Delete
7.91 kB
:root {
--bg: #f4efe5;
--panel: rgba(255, 253, 248, 0.92);
--panel-strong: #fffdf8;
--line: rgba(93, 71, 44, 0.14);
--text: #34271d;
--muted: #776252;
--accent: #b45f2f;
--accent-deep: #7e3a16;
--shadow: 0 20px 60px rgba(71, 45, 19, 0.12);
}
* {
box-sizing: border-box;
}
body {
margin: 0;
min-height: 100vh;
font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
color: var(--text);
background:
radial-gradient(circle at top left, rgba(255, 211, 162, 0.55), transparent 32%),
radial-gradient(circle at bottom right, rgba(181, 118, 52, 0.2), transparent 28%),
linear-gradient(180deg, #fbf7f0 0%, var(--bg) 100%);
}
.topbar {
position: sticky;
top: 0;
z-index: 10;
border-bottom: 1px solid rgba(93, 71, 44, 0.1);
background: rgba(255, 250, 242, 0.88);
backdrop-filter: blur(14px);
}
.topbar-inner {
width: min(1080px, calc(100% - 32px));
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
padding: 16px 0;
}
.brand {
color: var(--accent-deep);
font-size: 18px;
font-weight: 700;
text-decoration: none;
}
.topnav {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.topnav-link {
padding: 10px 14px;
border-radius: 999px;
border: 1px solid rgba(126, 58, 22, 0.12);
color: var(--muted);
background: rgba(255, 255, 255, 0.68);
text-decoration: none;
font-size: 14px;
transition: border-color 180ms ease, color 180ms ease, background 180ms ease;
}
.topnav-link:hover,
.topnav-link.is-active {
border-color: rgba(126, 58, 22, 0.35);
color: var(--accent-deep);
background: rgba(255, 244, 231, 0.96);
}
code {
font-family: "Consolas", monospace;
}
.page {
width: min(1080px, calc(100% - 32px));
margin: 0 auto;
padding: 40px 0 56px;
}
.hero {
display: grid;
grid-template-columns: 1.3fr 320px;
gap: 24px;
align-items: start;
}
.eyebrow {
margin: 0 0 12px;
color: var(--accent-deep);
font-size: 13px;
letter-spacing: 0.16em;
text-transform: uppercase;
}
.hero h1 {
margin: 0;
font-size: clamp(32px, 5vw, 54px);
line-height: 1.05;
}
.intro {
max-width: 680px;
margin: 16px 0 0;
font-size: 16px;
line-height: 1.7;
color: var(--muted);
}
.stats-card,
.upload-card,
.placeholder-card {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 24px;
box-shadow: var(--shadow);
backdrop-filter: blur(10px);
}
.stats-card {
padding: 22px;
}
.stats-card h2,
.upload-card h3 {
margin: 0 0 16px;
font-size: 16px;
}
.stats-card dl {
margin: 0;
display: grid;
gap: 14px;
}
.stats-card div {
display: flex;
align-items: center;
justify-content: space-between;
padding: 12px 14px;
border-radius: 16px;
background: var(--panel-strong);
border: 1px solid rgba(126, 58, 22, 0.08);
}
.stats-card dt {
color: var(--muted);
font-size: 14px;
}
.stats-card dd {
margin: 0;
font-size: 26px;
font-weight: 700;
}
.upload-card,
.placeholder-card {
margin-top: 28px;
padding: 28px;
}
.progress-card {
margin-bottom: 22px;
padding: 18px;
border-radius: 18px;
background: var(--panel-strong);
border: 1px solid rgba(126, 58, 22, 0.08);
}
.progress-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
margin-bottom: 12px;
}
.progress-header h3 {
margin: 0;
}
.progress-track {
overflow: hidden;
height: 12px;
border-radius: 999px;
background: rgba(126, 58, 22, 0.12);
}
.progress-fill {
width: 0;
height: 100%;
border-radius: inherit;
background: linear-gradient(90deg, #c46f2a 0%, #efb25b 100%);
transition: width 280ms ease;
}
.progress-label {
margin: 10px 0 0;
color: var(--muted);
font-size: 14px;
}
.upload-dropzone {
display: grid;
place-items: center;
min-height: 260px;
padding: 28px;
border-radius: 24px;
border: 2px dashed rgba(126, 58, 22, 0.28);
background:
linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(255, 240, 224, 0.96)),
repeating-linear-gradient(
-45deg,
rgba(180, 95, 47, 0.06),
rgba(180, 95, 47, 0.06) 12px,
rgba(255, 255, 255, 0) 12px,
rgba(255, 255, 255, 0) 24px
);
text-align: center;
cursor: pointer;
transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.upload-dropzone:hover {
transform: translateY(-2px);
border-color: rgba(126, 58, 22, 0.44);
box-shadow: 0 18px 36px rgba(100, 54, 26, 0.12);
}
.upload-dropzone input {
display: none;
}
.upload-title {
font-size: 30px;
font-weight: 700;
}
.upload-hint {
margin-top: 10px;
font-size: 15px;
color: var(--muted);
}
.status-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 18px;
margin-top: 22px;
}
.status-grid-four {
grid-template-columns: repeat(4, 1fr);
}
.status-grid article {
padding: 18px;
border-radius: 18px;
background: var(--panel-strong);
border: 1px solid rgba(126, 58, 22, 0.08);
}
.status-grid p {
margin: 0;
color: var(--accent-deep);
font-size: 16px;
line-height: 1.6;
word-break: break-word;
}
#status-detail {
margin-top: 8px;
color: var(--muted);
font-size: 13px;
}
.full-span {
grid-column: 1 / -1;
}
.hero-single {
grid-template-columns: 1fr;
}
.keyword-grid {
display: grid;
grid-template-columns: 1.3fr 320px;
gap: 18px;
align-items: stretch;
}
.keyword-hint-card,
.result-card,
.error-card {
padding: 20px;
border-radius: 18px;
background: var(--panel-strong);
border: 1px solid rgba(126, 58, 22, 0.08);
}
.keyword-hint-card h3,
.result-card h3,
.error-card h3 {
margin: 0 0 12px;
}
.simple-list {
margin: 10px 0 0;
padding-left: 20px;
color: var(--muted);
}
.simple-list li {
margin-bottom: 6px;
}
.muted-note {
color: var(--muted);
font-size: 13px;
}
.hidden {
display: none;
}
.keyword-stats-grid {
margin-top: 0;
margin-bottom: 18px;
grid-template-columns: repeat(5, 1fr);
}
.result-card-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
margin-bottom: 14px;
}
.primary-button,
.secondary-button {
padding: 10px 16px;
border-radius: 12px;
border: none;
cursor: pointer;
font-size: 14px;
font-weight: 700;
}
.primary-button {
color: #fff;
background: linear-gradient(90deg, #b45f2f, #d4884a);
}
.secondary-button {
color: var(--accent-deep);
background: rgba(180, 95, 47, 0.12);
}
.table-shell {
overflow-x: auto;
}
.result-table {
width: 100%;
border-collapse: collapse;
}
.result-table th,
.result-table td {
padding: 12px 14px;
border-bottom: 1px solid rgba(126, 58, 22, 0.08);
text-align: left;
white-space: nowrap;
}
.result-table th {
color: var(--accent-deep);
background: rgba(180, 95, 47, 0.06);
}
.result-badge {
display: inline-flex;
align-items: center;
padding: 4px 10px;
border-radius: 999px;
background: rgba(180, 95, 47, 0.12);
color: var(--accent-deep);
font-size: 13px;
}
@media (max-width: 860px) {
.topbar-inner {
align-items: flex-start;
flex-direction: column;
}
.hero {
grid-template-columns: 1fr;
}
.keyword-grid {
grid-template-columns: 1fr;
}
.status-grid {
grid-template-columns: 1fr;
}
}
.keyword-stats-grid-wide {
grid-template-columns: repeat(6, 1fr);
}
.placement-stats-grid {
grid-template-columns: repeat(5, 1fr);
}
.aging-stats-grid {
grid-template-columns: repeat(5, 1fr);
}
.result-card-spaced {
margin-top: 18px;
}