working base site setup with gatekeeping working
This commit is contained in:
@@ -732,6 +732,18 @@ textarea {
|
||||
color: var(--md-sys-color-on-surface-variant);
|
||||
}
|
||||
|
||||
.token-hint {
|
||||
font-size: 0.85rem;
|
||||
color: var(--md-sys-color-on-surface-variant);
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.token-hint code {
|
||||
background: var(--md-sys-color-surface-variant);
|
||||
padding: 2px 6px;
|
||||
border-radius: 4px;
|
||||
color: var(--md-sys-color-on-surface);
|
||||
}
|
||||
|
||||
/* ========== User Bar & Auth Bar ========== */
|
||||
.user-bar {
|
||||
position: fixed;
|
||||
@@ -1511,3 +1523,238 @@ a.deletelink {
|
||||
.htmx-indicator { display: none; }
|
||||
.htmx-request .htmx-indicator { display: block; }
|
||||
.htmx-request.htmx-indicator { display: block; }
|
||||
|
||||
/* ========== Home Page ========== */
|
||||
.home-hero {
|
||||
background: var(--md-sys-color-surface);
|
||||
border-radius: 16px;
|
||||
padding: 48px 32px;
|
||||
text-align: center;
|
||||
margin-bottom: 24px;
|
||||
border: 1px solid var(--md-sys-color-outline);
|
||||
}
|
||||
.home-hero h1 {
|
||||
font-size: 2.5rem;
|
||||
font-weight: 700;
|
||||
color: var(--md-sys-color-primary);
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.home-hero p {
|
||||
color: var(--md-sys-color-on-surface-variant);
|
||||
font-size: 1.1rem;
|
||||
max-width: 640px;
|
||||
margin: 0 auto 8px auto;
|
||||
}
|
||||
.home-hero .home-hero-sub {
|
||||
font-size: 0.95rem;
|
||||
max-width: 560px;
|
||||
}
|
||||
.home-hero-actions {
|
||||
margin-top: 24px;
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
justify-content: center;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.btn-primary {
|
||||
background: var(--md-sys-color-primary);
|
||||
color: var(--md-sys-color-on-primary);
|
||||
text-decoration: none;
|
||||
padding: 10px 20px;
|
||||
border-radius: 24px;
|
||||
font-weight: 500;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
.btn-primary:hover {
|
||||
background: var(--ctp-mocha-pink);
|
||||
}
|
||||
.btn-secondary {
|
||||
background: var(--md-sys-color-surface-variant);
|
||||
color: var(--md-sys-color-on-surface);
|
||||
text-decoration: none;
|
||||
padding: 10px 20px;
|
||||
border-radius: 24px;
|
||||
font-weight: 500;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
.btn-secondary:hover {
|
||||
background: var(--md-sys-color-outline);
|
||||
}
|
||||
|
||||
.home-stats {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
|
||||
gap: 16px;
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
.stat-card {
|
||||
background: var(--md-sys-color-surface);
|
||||
border-radius: 12px;
|
||||
padding: 20px;
|
||||
text-align: center;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
border: 1px solid var(--md-sys-color-outline);
|
||||
}
|
||||
.stat-card i {
|
||||
font-size: 1.5rem;
|
||||
color: var(--md-sys-color-primary);
|
||||
}
|
||||
.stat-value {
|
||||
font-size: 1.8rem;
|
||||
font-weight: 700;
|
||||
color: var(--md-sys-color-on-surface);
|
||||
}
|
||||
.stat-label {
|
||||
font-size: 0.8rem;
|
||||
color: var(--md-sys-color-on-surface-variant);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
}
|
||||
|
||||
.home-section {
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
.home-section-header {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.home-section-header h2 {
|
||||
font-size: 1.3rem;
|
||||
font-weight: 500;
|
||||
color: var(--md-sys-color-on-surface);
|
||||
}
|
||||
.home-section-link {
|
||||
color: var(--md-sys-color-primary);
|
||||
text-decoration: none;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.pack-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
|
||||
gap: 16px;
|
||||
}
|
||||
.pack-card {
|
||||
background: var(--md-sys-color-surface);
|
||||
border-radius: 12px;
|
||||
overflow: hidden;
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
border: 1px solid var(--md-sys-color-outline);
|
||||
transition: transform 0.2s, box-shadow 0.2s;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.pack-card:hover {
|
||||
transform: translateY(-4px);
|
||||
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
.pack-card-thumb {
|
||||
aspect-ratio: 16 / 9;
|
||||
background: var(--md-sys-color-surface-variant);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
overflow: hidden;
|
||||
}
|
||||
.pack-card-thumb img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
.pack-card-body {
|
||||
padding: 12px 16px 16px 16px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
flex: 1;
|
||||
}
|
||||
.pack-card-body h3 {
|
||||
font-size: 1rem;
|
||||
font-weight: 500;
|
||||
color: var(--md-sys-color-on-surface);
|
||||
}
|
||||
.pack-card-author {
|
||||
font-size: 0.8rem;
|
||||
color: var(--md-sys-color-primary);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
}
|
||||
.pack-card-desc {
|
||||
font-size: 0.85rem;
|
||||
color: var(--md-sys-color-on-surface-variant);
|
||||
flex: 1;
|
||||
}
|
||||
.pack-card-meta {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-top: 8px;
|
||||
font-size: 0.78rem;
|
||||
color: var(--md-sys-color-on-surface-variant);
|
||||
}
|
||||
.pack-card-version,
|
||||
.pack-card-downloads {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.how-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
||||
gap: 16px;
|
||||
}
|
||||
.how-card {
|
||||
background: var(--md-sys-color-surface);
|
||||
border-radius: 12px;
|
||||
padding: 20px;
|
||||
border: 1px solid var(--md-sys-color-outline);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
.how-card i {
|
||||
font-size: 1.5rem;
|
||||
color: var(--md-sys-color-primary);
|
||||
}
|
||||
.how-card h3 {
|
||||
font-size: 1rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
.how-card p {
|
||||
font-size: 0.85rem;
|
||||
color: var(--md-sys-color-on-surface-variant);
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.home-gate-note {
|
||||
background: var(--md-sys-color-surface-variant);
|
||||
border-radius: 12px;
|
||||
padding: 16px 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
font-size: 0.85rem;
|
||||
color: var(--md-sys-color-on-surface-variant);
|
||||
}
|
||||
.home-gate-note i {
|
||||
color: var(--md-sys-color-primary);
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
.home-gate-note code {
|
||||
background: var(--md-sys-color-surface);
|
||||
padding: 2px 6px;
|
||||
border-radius: 4px;
|
||||
color: var(--md-sys-color-on-surface);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user