/* ========================= 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%; } }