:root {
--background: white;
--text: black;
--accent: var(--text);
}
body {
font-family: var(--sans-serif);
background: url("/future/deepfield.png");
}
.panel {
margin-block-end: 1rem;
filter: drop-shadow(0 0 1rem);
}
.panel.plain {
--background: #ddd;
--background-dark: #b8b8b8;
display: grid;
grid-template-columns: 0.75rem 1fr 0.75rem;
grid-template-rows: 0.75rem 1fr 0.75rem;
grid-template-areas:
"slope-left contents gutter-right"
"gutter-left contents gutter-right"
"gutter-left contents slope-right";
& .gutter,
& .slope {
background-color: var(--background-dark);
}
& .gutter-left,
& .slope-left {
border-inline-end: 2px solid;
}
& .gutter-right,
& .slope-right {
border-inline-start: 2px solid;
}
& .slope {
z-index: 100;
}
& .slope-left {
grid-area: slope-left;
transform: skewX(135deg) translateX(0.375rem);
}
& .slope-right {
grid-area: slope-right;
transform: skewX(-45deg) translateX(-0.375rem);
}
& .gutter-left {
grid-area: gutter-left;
}
& .gutter-right {
grid-area: gutter-right;
}
& .contents {
grid-area: contents;
z-index: 99;
background-color: var(--background);
& h1 {
margin-block: 1rem;
}
}
}
.panel.tech {
--background: #ff8;
--background-dark: #bb6;
display: grid;
grid-template-columns: 2.5rem 0.75rem 1fr;
grid-template-rows: 2.5rem 0.75rem 1fr;
grid-template-areas:
"dogear dogear letterhead"
"dogear dogear ."
"sidebar . contents";
& > .dogear {
grid-area: dogear;
background: linear-gradient(
to right,
transparent,
transparent calc(80% + 1px),
var(--background-dark) calc(80% + 1px)
),
linear-gradient(
to bottom,
transparent,
transparent calc(80% + 1px),
var(--background-dark) calc(80% + 1px)
),
linear-gradient(to right, transparent, transparent 80%, currentColor 80%),
linear-gradient(to bottom, transparent, transparent 80%, currentColor 80%),
var(--background);
border-block-end: 2px solid;
border-inline-end: 2px solid;
clip-path: polygon(0 100%, 100% 100%, 100% 0);
}
& > .gutter {
background-color: var(--background);
}
& > .letterhead {
display: flex;
grid-area: letterhead;
align-items: center;
padding-inline: 0.67rem;
background-color: var(--background-dark);
border-block-end: 2px solid;
& h2 {
margin-block: 0;
text-transform: uppercase;
}
}
& > .sidebar {
display: flex;
grid-area: sidebar;
align-items: center;
padding-inline: 0.67rem;
writing-mode: vertical-rl;
background-color: var(--background-dark);
border-block-start: 2px solid;
}
& > .contents {
padding-inline: 0.25rem 1rem;
padding-block: 0.25rem 1rem;
background: linear-gradient(-45deg, transparent, transparent 1rem, var(--background) 1rem);
& figure {
max-inline-size: min(50%, 10rem);
padding-inline-start: 1em;
& img {
border: 2px solid;
}
}
& p:first-of-type {
margin-block-start: 0;
}
& p:last-of-type {
margin-block-end: 0;
}
}
}