You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

245 lines
3.9 KiB

:root {
--bg: #f3efe6;
--surface: rgba(255, 252, 245, 0.88);
--surface-strong: #fffaf1;
--ink: #1e1b16;
--muted: #6d6457;
--line: rgba(58, 44, 23, 0.12);
--accent: #bb5a2b;
--accent-strong: #8b3d17;
--success: #2d6a4f;
--danger: #a63b2c;
--shadow: 0 18px 50px rgba(72, 44, 20, 0.12);
}
* {
box-sizing: border-box;
}
body {
margin: 0;
min-height: 100vh;
color: var(--ink);
background:
radial-gradient(circle at top left, rgba(219, 164, 103, 0.28), transparent 30%),
radial-gradient(circle at bottom right, rgba(92, 140, 109, 0.24), transparent 28%),
linear-gradient(135deg, #efe7d8 0%, #f8f4ec 45%, #ece3d5 100%);
font-family: Georgia, "Iowan Old Style", "Palatino Linotype", serif;
}
button,
input {
font: inherit;
}
.page-shell {
display: grid;
grid-template-columns: minmax(280px, 0.95fr) minmax(340px, 1.2fr);
min-height: 100vh;
}
.hero-panel,
.workspace-panel {
padding: 48px 40px;
}
.hero-panel {
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px;
}
.hero-panel h1 {
margin: 0;
font-size: clamp(2.3rem, 4vw, 4.4rem);
line-height: 0.95;
max-width: 10ch;
}
.lede {
margin: 0;
max-width: 52ch;
color: var(--muted);
font-size: 1.08rem;
line-height: 1.7;
}
.hero-card,
.card,
.status-card,
.subpanel {
border: 1px solid var(--line);
background: var(--surface);
backdrop-filter: blur(14px);
box-shadow: var(--shadow);
}
.hero-card {
display: grid;
gap: 18px;
padding: 22px 24px;
border-radius: 24px;
max-width: 440px;
}
.workspace-panel {
display: flex;
align-items: center;
justify-content: center;
}
.card {
width: min(860px, 100%);
padding: 28px;
border-radius: 28px;
}
.card-header h2,
.toolbar h2,
.subpanel-header h3 {
margin: 0;
}
.eyebrow,
.label {
display: block;
margin-bottom: 8px;
color: var(--muted);
font-size: 0.8rem;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.stack-form {
display: grid;
gap: 18px;
}
.stack-form label {
display: grid;
gap: 8px;
}
input {
width: 100%;
padding: 14px 16px;
border: 1px solid rgba(61, 45, 24, 0.18);
border-radius: 14px;
background: var(--surface-strong);
}
button {
border: none;
border-radius: 999px;
padding: 13px 18px;
color: #fffaf2;
background: linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);
cursor: pointer;
transition: transform 140ms ease, opacity 140ms ease;
}
button:hover {
transform: translateY(-1px);
}
.ghost {
color: var(--ink);
background: rgba(255, 250, 241, 0.86);
border: 1px solid var(--line);
}
.toolbar,
.subpanel-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
}
.toolbar-actions {
display: flex;
gap: 12px;
}
.status-grid,
.panel-grid {
display: grid;
gap: 16px;
margin-top: 22px;
}
.status-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.status-card,
.subpanel {
padding: 18px 20px;
border-radius: 22px;
}
.panel-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.item-list {
list-style: none;
margin: 16px 0 0;
padding: 0;
display: grid;
gap: 10px;
}
.item-list li {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 12px 14px;
border-radius: 16px;
background: rgba(255, 250, 241, 0.78);
border: 1px solid rgba(61, 45, 24, 0.08);
}
.item-meta {
color: var(--muted);
font-size: 0.92rem;
}
.pill {
padding: 6px 10px;
border-radius: 999px;
background: rgba(187, 90, 43, 0.1);
color: var(--accent-strong);
font-size: 0.86rem;
}
.error {
margin: 14px 0 0;
color: var(--danger);
}
[hidden] {
display: none !important;
}
@media (max-width: 960px) {
.page-shell {
grid-template-columns: 1fr;
}
.hero-panel,
.workspace-panel {
padding: 28px 18px;
}
.hero-panel h1 {
max-width: none;
}
.status-grid,
.panel-grid {
grid-template-columns: 1fr;
}
}