282 lines
5.0 KiB
CSS
282 lines
5.0 KiB
CSS
/* =========================
|
|
NOTES BOARD
|
|
========================= */
|
|
|
|
#notes-tools {
|
|
display: flex;
|
|
align-items: end;
|
|
justify-content: flex-end;
|
|
gap: 0.65rem;
|
|
margin: 1.25rem 0 0;
|
|
}
|
|
|
|
#notes-tools label {
|
|
color: var(--muted);
|
|
font-size: 0.75rem;
|
|
letter-spacing: 0.06em;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
#notes-author-filter {
|
|
min-width: min(220px, 100%);
|
|
border: 1px solid var(--border);
|
|
border-radius: 8px;
|
|
background: var(--surface);
|
|
color: var(--fg);
|
|
font: inherit;
|
|
font-size: 0.9rem;
|
|
line-height: 1.2;
|
|
padding: 0.45rem 0.65rem;
|
|
}
|
|
|
|
#notes-author-filter:focus {
|
|
outline: 2px solid color-mix(in oklab, var(--accent) 45%, transparent);
|
|
outline-offset: 2px;
|
|
}
|
|
|
|
#notes-wall {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
|
|
gap: 1.5rem;
|
|
margin: 2.5rem 0;
|
|
align-items: start;
|
|
}
|
|
|
|
/* =========================
|
|
NOTE CARD
|
|
========================= */
|
|
|
|
.note {
|
|
position: relative;
|
|
padding: 1rem 1rem 0.9rem;
|
|
background: var(--surface);
|
|
color: var(--fg);
|
|
border: 1px solid var(--border);
|
|
border-radius: 8px;
|
|
box-shadow:
|
|
0 2px 6px rgba(0, 0, 0, 0.08),
|
|
0 12px 24px rgba(0, 0, 0, 0.06);
|
|
transform: rotate(var(--note-tilt, 0deg));
|
|
transition:
|
|
transform 0.15s ease,
|
|
box-shadow 0.15s ease,
|
|
background-color 0.2s ease,
|
|
border-color 0.2s ease;
|
|
|
|
}
|
|
|
|
/* subtle randomness */
|
|
.note:nth-child(3n) { --note-tilt: -0.6deg; }
|
|
.note:nth-child(4n) { --note-tilt: 0.4deg; }
|
|
.note:nth-child(5n) { --note-tilt: -0.3deg; }
|
|
|
|
.note:hover {
|
|
transform: rotate(0deg) translateY(-4px);
|
|
box-shadow:
|
|
0 6px 14px rgba(0, 0, 0, 0.12),
|
|
0 18px 36px rgba(0, 0, 0, 0.10);
|
|
}
|
|
|
|
/* =========================
|
|
PIN
|
|
========================= */
|
|
|
|
.note::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0.6rem;
|
|
left: 50%;
|
|
width: 10px;
|
|
height: 10px;
|
|
background: #c33;
|
|
border-radius: 50%;
|
|
transform: translateX(-50%);
|
|
box-shadow:
|
|
0 1px 2px rgba(0, 0, 0, 0.3);
|
|
opacity: 0.85;
|
|
}
|
|
|
|
/* =========================
|
|
META
|
|
========================= */
|
|
|
|
.note-meta {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: baseline;
|
|
font-size: 0.7rem;
|
|
margin-bottom: 0.5rem;
|
|
color: var(--muted);
|
|
}
|
|
|
|
.note-author {
|
|
font-weight: 700;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.04em;
|
|
}
|
|
|
|
.note-meta time {
|
|
font-variant-numeric: tabular-nums;
|
|
opacity: 0.7;
|
|
}
|
|
|
|
/* =========================
|
|
CONTENT
|
|
========================= */
|
|
|
|
.note-content {
|
|
font-size: 0.95rem;
|
|
line-height: 1.45;
|
|
white-space: pre-wrap;
|
|
color: var(--fg);
|
|
}
|
|
|
|
/* =========================
|
|
MOBILE TWEAKS
|
|
========================= */
|
|
|
|
@media (max-width: 600px) {
|
|
#notes-wall {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
#notes-tools {
|
|
align-items: stretch;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.note {
|
|
transform: none;
|
|
}
|
|
|
|
.note::before {
|
|
left: 0.75rem;
|
|
transform: none;
|
|
}
|
|
}
|
|
/* =========================
|
|
NOTES FORM
|
|
========================= */
|
|
|
|
#notes-form-wrapper {
|
|
margin-top: 3rem;
|
|
display: flex;
|
|
justify-content: center;
|
|
}
|
|
|
|
#notes-form {
|
|
width: 100%;
|
|
max-width: 420px;
|
|
background: var(--surface);
|
|
color: var(--fg);
|
|
border: 1px solid var(--border);
|
|
padding: 1.25rem 1.25rem 1.1rem;
|
|
border-radius: 10px;
|
|
box-shadow:
|
|
0 2px 6px rgba(0, 0, 0, 0.08),
|
|
0 14px 30px rgba(0, 0, 0, 0.06);
|
|
position: relative;
|
|
}
|
|
|
|
/* pin */
|
|
#notes-form::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0.6rem;
|
|
left: 50%;
|
|
width: 12px;
|
|
height: 12px;
|
|
background: #c33;
|
|
border-radius: 50%;
|
|
transform: translateX(-50%);
|
|
box-shadow:
|
|
0 1px 2px rgba(0, 0, 0, 0.35);
|
|
}
|
|
|
|
/* =========================
|
|
LABELS
|
|
========================= */
|
|
|
|
#notes-form label {
|
|
display: block;
|
|
font-size: 0.7rem;
|
|
letter-spacing: 0.08em;
|
|
text-transform: uppercase;
|
|
color: var(--muted);
|
|
margin-bottom: 0.25rem;
|
|
}
|
|
|
|
/* =========================
|
|
INPUTS
|
|
========================= */
|
|
|
|
#notes-form input,
|
|
#notes-form textarea {
|
|
width: 100%;
|
|
border: none;
|
|
background: transparent;
|
|
color: var(--fg);
|
|
font-family: inherit;
|
|
font-size: 0.95rem;
|
|
line-height: 1.45;
|
|
padding: 0.3rem 0;
|
|
margin-bottom: 0.9rem;
|
|
border-bottom: 1px solid var(--border);
|
|
}
|
|
|
|
#notes-form textarea {
|
|
resize: vertical;
|
|
min-height: 4.5rem;
|
|
}
|
|
|
|
/* focus state */
|
|
#notes-form input:focus,
|
|
#notes-form textarea:focus {
|
|
outline: none;
|
|
border-bottom-color: var(--accent);
|
|
}
|
|
|
|
/* placeholder */
|
|
#notes-form ::placeholder {
|
|
color: var(--muted);
|
|
}
|
|
|
|
/* =========================
|
|
SUBMIT BUTTON
|
|
========================= */
|
|
|
|
#notes-form button {
|
|
margin-top: 0.5rem;
|
|
padding: 0.35rem 0.9rem;
|
|
font-family: inherit;
|
|
font-size: 0.8rem;
|
|
letter-spacing: 0.06em;
|
|
text-transform: uppercase;
|
|
border-radius: 999px;
|
|
border: none;
|
|
background: var(--fg);
|
|
color: var(--bg);
|
|
cursor: pointer;
|
|
float: right;
|
|
}
|
|
|
|
#notes-form button:hover {
|
|
background: var(--accent);
|
|
color: var(--surface);
|
|
}
|
|
|
|
#notes-form button:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
/* =========================
|
|
MOBILE
|
|
========================= */
|
|
|
|
@media (max-width: 600px) {
|
|
#notes-form {
|
|
max-width: 100%;
|
|
}
|
|
}
|