Files
TREK/client/src/styles/studio-head.css
T

174 lines
3.9 KiB
CSS

/* ----------------- head band (StudioHeader.tsx) ----------------- *
* The shape every TREK dialog head has: a tinted band, a raised tile, a small
* line above the title and a round close button at the end. The band keeps the
* glass of the old bar under its tint, so the journey still shows through.
*/
.trek-dash .st-head {
/* Its own stacking context, above the rails: the panels below carry z-index 1,
and without this the format menu would open behind them. */
position: relative;
z-index: 5;
display: flex;
align-items: center;
gap: 12px;
min-width: 0;
padding-inline: 14px 16px;
background:
linear-gradient(
color-mix(in srgb, var(--accent) 7%, transparent),
color-mix(in srgb, var(--accent) 7%, transparent)
),
var(--glass-bg);
border-bottom: 1px solid var(--glass-border);
backdrop-filter: var(--glass-blur);
-webkit-backdrop-filter: var(--glass-blur);
}
/* The journey's cover, so it is always clear whose book this is. */
.trek-dash .st-head-tile {
width: 44px;
height: 44px;
flex: none;
overflow: hidden;
border-radius: 13px;
background: var(--surface);
box-shadow: var(--sh-sm);
}
.trek-dash .st-head-tile img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.trek-dash .st-head-text {
display: flex;
flex-direction: column;
gap: 2px;
min-width: 0;
flex: 1 1 auto;
}
/* The wordmark and the beta mark: what this screen is, quietly, above its name. */
.trek-dash .st-head-eyebrow {
display: flex;
align-items: center;
gap: 7px;
height: 17px;
color: var(--ink-2);
}
.trek-dash .st-head-eyebrow svg {
flex: none;
}
.trek-dash .st-head-title {
margin: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--ink);
font-size: 16px;
font-weight: 700;
letter-spacing: -0.01em;
line-height: 1.25;
}
.trek-dash .st-head-sub {
display: flex;
align-items: center;
gap: 8px;
min-width: 0;
}
/* The format, as a chip that opens the format menu. */
.trek-dash .st-head-chip {
display: inline-flex;
align-items: center;
gap: 6px;
height: 22px;
padding-inline: 7px 8px;
border-radius: 999px;
background: var(--surface);
box-shadow: var(--sh-xs);
color: var(--ink-2);
font-size: 11.5px;
font-weight: 500;
white-space: nowrap;
transition:
color 0.16s,
box-shadow 0.16s;
}
.trek-dash .st-head-chip:hover {
color: var(--ink);
box-shadow: var(--sh-sm);
}
.trek-dash .st-head-chip:focus {
outline: none;
}
.trek-dash .st-head-chip:focus-visible {
box-shadow:
0 0 0 2px var(--accent-soft),
0 0 0 3px var(--accent);
}
.trek-dash .st-head-chip-shape {
flex: none;
border: 1.5px solid currentColor;
border-radius: 2px;
opacity: 0.7;
}
/* The chip sits on the left, so its menu opens towards the page, not off the window. */
.trek-dash .st-head-menu {
inset-inline-start: 0;
inset-inline-end: auto;
}
.trek-dash .st-head-tools {
display: flex;
align-items: center;
gap: 8px;
flex: none;
margin-inline-start: auto;
}
/* Tools that belong together share one raised group, like a segmented control. */
.trek-dash .st-head-group {
display: flex;
align-items: center;
gap: 2px;
padding: 3px;
border-radius: 12px;
background: var(--surface);
box-shadow: var(--sh-xs);
}
.trek-dash .st-head-close {
display: grid;
place-items: center;
width: 36px;
height: 36px;
flex: none;
margin-inline-start: 2px;
border-radius: 999px;
background: var(--surface);
box-shadow: var(--sh-sm);
color: var(--ink-3);
transition: color 0.16s;
}
.trek-dash .st-head-close:hover {
color: var(--ink);
}
.trek-dash .st-head-close:focus {
outline: none;
}
.trek-dash .st-head-close:focus-visible {
box-shadow:
0 0 0 2px var(--accent-soft),
0 0 0 3px var(--accent);
}
/* The book view moved to the zoom, where the page's view lives; on reads as pressed. */
.trek-dash .st-zoom button.is-on {
background: color-mix(in oklch, var(--accent) 14%, transparent);
color: var(--ink);
}