rojects/workspace/_assets_/styles.css

287 lines
5.5 KiB
CSS
Raw Normal View History

*, *::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;
user-select: none;
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; }