*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } :root { --bg: #0f1117; --surface: #1a1d27; --border: #2a2d3a; --text: #e2e4ed; --muted: #7b7f96; --accent: #7c8cff; --tag-bg: #1e2235; --tag-text: #9ba4c7; --font-size: 20px; } html { font-size: calc( var( --font-size ) ); -webkit-font-smoothing: antialiased; } body { background: var(--bg); color: var(--text); font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; line-height: 1.7; padding: calc( var( --font-size ) * 3 ) calc( var( --font-size ) * 1.5 ) calc( var( --font-size ) * 6 ); } .page { max-width: 50em; margin: 0 auto; } header { margin-bottom: calc( var( --font-size ) * 3 ); padding-bottom: calc( var( --font-size ) * 1.5 ); border-bottom: 1px solid var(--border); } header .date { font-size: calc( var( --font-size ) * 0.8 ); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); margin-bottom: calc( var( --font-size ) * 0.75 ); } header h1 { font-size: calc( var( --font-size ) * 1.9 ); font-weight: 700; letter-spacing: -0.02em; color: var(--text); } header .subtitle { margin-top: calc( var( --font-size ) * 0.5 ); color: var(--muted); font-size: calc( var( --font-size ) * 0.95 ); } section { margin-bottom: calc( var( --font-size ) * 2.5 ); } section h2 { font-size: calc( var( --font-size ) * 1.25 ); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); margin-bottom: calc( var( --font-size ) * 1 ); } .card { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: calc( var( --font-size ) * 1.25 ) calc( var( --font-size ) * 1.5 ); margin-bottom: calc( var( --font-size ) * 0.75 ); } .card h3 { font-size: calc( var( --font-size ) * 1 ); font-weight: 600; margin-bottom: calc( var( --font-size ) * 0.35 ); color: var(--text); } .card p { font-size: calc( var( --font-size ) * 0.9 ); color: var(--muted); line-height: 1.6; } .tags { display: flex; flex-wrap: wrap; gap: calc( var( --font-size ) * 0.4 ); margin-top: calc( var( --font-size ) * 0.75 ); } .tag { background: var(--tag-bg); color: var(--tag-text); font-size: calc( var( --font-size ) * 0.75 ); padding: calc( var( --font-size ) * 0.2 ) calc( var( --font-size ) * 0.6 ); border-radius: 4px; font-family: ui-monospace, "Cascadia Code", monospace; } .decision { border-left: 3px solid var(--accent); padding-left: calc( var( --font-size ) * 1 ); margin-bottom: calc( var( --font-size ) * 2 ); } .decision p { font-size: calc( var( --font-size ) * 0.9 ); color: var(--muted); } .decision strong { color: var(--text); display: block; margin-bottom: calc( var( --font-size ) * 0.2 ); } footer { margin-top: calc( var( --font-size ) * 4 ); padding-top: calc( var( --font-size ) * 1.5 ); border-top: 1px solid var(--border); font-size: calc( var( --font-size ) * 0.8 ); color: var(--muted); } a { color: var(--accent); text-decoration: none; } a:hover { text-decoration: underline; } code { font-family: ui-monospace, "Cascadia Code", "Fira Code", monospace; font-size: 0.85em; color: var(--accent); background: var(--tag-bg); padding: 0.1em 0.35em; border-radius: 3px; } pre { background: #0a0c14; border: 1px solid var(--border); border-radius: 6px; padding: calc( var( --font-size ) * 1 ) calc( var( --font-size ) * 1.25 ); overflow-x: auto; font-family: ui-monospace, "Cascadia Code", "Fira Code", monospace; font-size: calc( var( --font-size ) * 0.82 ); line-height: 1.6; color: var(--text); margin-top: calc( var( --font-size ) * 0.75 ); } pre code { background: none; color: inherit; padding: 0; font-size: inherit; } .board-page { max-width: 75em; margin: 0 auto; } .board { display: flex; gap: calc( var( --font-size ) * 1.5 ); align-items: flex-start; } .lane { flex: 1; min-width: 0; } .lane-header { font-size: calc( var( --font-size ) * 1.1 ); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var( --accent ); margin-bottom: calc( var( --font-size ) * 1 ); padding-bottom: calc( var( --font-size ) * 0.5 ); border-bottom: 1px solid var( --border ); } task-item { display: block; background: var( --surface ); border: 1px solid var( --item-color, var( --border ) ); border-radius: 8px; margin-bottom: calc( var( --font-size ) * 0.75 ); overflow: hidden; } task-title { display: block; padding: calc( var( --font-size ) * 0.5 ) calc( var( --font-size ) * 0.85 ); font-size: calc( var( --font-size ) * 0.9 ); font-weight: 600; color: var( --item-color, var( --text ) ); cursor: pointer; line-height: 1.5; } task-title::before { content: '▾ '; font-size: 0.75em; opacity: 0.6; } task-item.hide-content task-title::before { content: '▸ '; } task-content { display: block; padding: calc( var( --font-size ) * 0.4 ) calc( var( --font-size ) * 0.85 ) calc( var( --font-size ) * 0.65 ); font-size: calc( var( --font-size ) * 0.85 ); color: var( --muted ); border-top: 1px solid var( --border ); line-height: 1.6; } task-item.hide-content task-content { display: none; } task-item.red { --item-color: #c96b6b; } task-item.green { --item-color: #57a870; } task-item.blue { --item-color: #7c8cff; } task-item.yellow { --item-color: #c4a040; } task-item.purple { --item-color: #9060d0; } task-item.orange { --item-color: #c47840; }