/* * Foresight UI prototype — styles + design tokens * ------------------------------------------------ * The :root block is the "one-line change" surface for the walkthrough: * palette, spacing, radii, and the four domain colors all live here. */ :root { /* --- Four-domain palette (warm four + VU-gold brand anchor) --- */ --d-strengths: #E0A83E; /* personal */ --d-crew: #E86A5C; /* social */ --d-future: #4A6FA5; /* professional */ --d-vu: #4C9A6E; /* academic */ --brand-gold: #866D4B; /* Vanderbilt gold anchor */ /* tint versions for backgrounds */ --d-strengths-soft: #FBF1DC; --d-crew-soft: #FBE4E1; --d-future-soft: #E4EBF4; --d-vu-soft: #E2F0E8; /* --- Neutral base --- */ --bg: #FAF8F4; --surface: #FFFFFF; --surface-2: #F3F0E9; --ink: #2C2A26; --ink-soft: #6B655C; --line: #E7E2D8; /* --- Shape & rhythm --- */ --radius: 16px; --radius-sm: 10px; --gap: 20px; --shadow: 0 1px 2px rgba(44,42,38,.04), 0 6px 20px rgba(44,42,38,.06); --font: "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; } * { box-sizing: border-box; } html, body { margin: 0; height: 100%; font-family: var(--font); color: var(--ink); background: var(--bg); font-size: 15px; line-height: 1.5; } button { font-family: inherit; cursor: pointer; } h1, h2, h3, h4 { margin: 0 0 .35em; line-height: 1.25; } p { margin: 0 0 .6em; } /* ============================ App shell ============================ */ #app { display: flex; min-height: 100vh; } /* ---- Sidebar ---- */ .sidebar { width: 232px; flex: 0 0 232px; background: var(--surface); border-right: 1px solid var(--line); padding: 20px 14px; display: flex; flex-direction: column; gap: 4px; position: sticky; top: 0; height: 100vh; overflow-y: auto; } .brand { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 20px; color: var(--brand-gold); padding: 4px 8px 16px; } .brand .vmark { width: 30px; height: 30px; border-radius: 8px; background: var(--brand-gold); color: #fff; display: grid; place-items: center; font-family: Georgia, "Times New Roman", serif; font-weight: 800; font-size: 19px; line-height: 1; box-shadow: var(--shadow); } .nav-group-label { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-soft); padding: 14px 10px 4px; } .nav-item { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: var(--radius-sm); color: var(--ink); text-decoration: none; font-size: 14.5px; border: none; background: none; width: 100%; text-align: left; } .nav-item:hover { background: var(--surface-2); } .nav-item.active { background: var(--surface-2); font-weight: 600; } .nav-item .glyph { width: 20px; text-align: center; font-size: 15px; } .nav-label { display: flex; flex-direction: column; line-height: 1.15; } .nav-label .nav-name { font-size: 14.5px; } .nav-label .nav-facet { font-size: 11px; color: var(--ink-soft); text-transform: capitalize; } .nav-item.domain.active { box-shadow: inset 3px 0 0 var(--accent); } .nav-sep { height: 1px; background: var(--line); margin: 10px 6px; } /* ---- Main column ---- */ .main { flex: 1; display: flex; flex-direction: column; min-width: 0; } .topbar { height: 60px; flex: 0 0 60px; display: flex; align-items: center; gap: 16px; padding: 0 28px; background: var(--surface); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 5; } .topbar .affirm-dock { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; color: var(--ink-soft); font-size: 13.5px; font-style: italic; } .topbar .affirm-dock .spark { color: var(--brand-gold); font-style: normal; } .topbar .affirm-dock span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .topbar .icons { display: flex; gap: 8px; align-items: center; } .avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--brand-gold); color: #fff; display: grid; place-items: center; font-weight: 600; /* it's a