994 lines
20 KiB
CSS
994 lines
20 KiB
CSS
.sai-player {
|
|
--sai-title-font: var(
|
|
--titleFont,
|
|
Inter,
|
|
ui-sans-serif,
|
|
system-ui,
|
|
sans-serif
|
|
);
|
|
--sai-body-font: var(--bodyFont, Inter, ui-sans-serif, system-ui, sans-serif);
|
|
}
|
|
|
|
.sai-player {
|
|
display: grid;
|
|
gap: 0.9rem;
|
|
margin: 1.3rem 0 1.6rem;
|
|
padding: clamp(0.8rem, 2vw, 1.1rem);
|
|
border: 1px solid rgba(255, 198, 120, 0.2);
|
|
border-radius: 22px;
|
|
background:
|
|
radial-gradient(
|
|
circle at 16% 12%,
|
|
rgba(255, 198, 120, 0.12),
|
|
transparent 24%
|
|
),
|
|
radial-gradient(
|
|
circle at 82% 10%,
|
|
rgba(104, 172, 255, 0.1),
|
|
transparent 26%
|
|
),
|
|
linear-gradient(180deg, rgba(7, 8, 12, 0.98), rgba(9, 13, 19, 0.96));
|
|
box-shadow:
|
|
0 18px 38px rgba(0, 0, 0, 0.24),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.03);
|
|
}
|
|
|
|
.sai-status {
|
|
position: relative;
|
|
z-index: 1;
|
|
margin: 0;
|
|
color: rgba(255, 138, 42, 0.96);
|
|
font-family: var(--sai-title-font);
|
|
font-size: 0.8rem;
|
|
font-weight: 300;
|
|
letter-spacing: 0.12em;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.sai-cinematic-stage {
|
|
position: relative;
|
|
min-height: clamp(480px, 62vh, 680px);
|
|
border-radius: 24px;
|
|
overflow: hidden;
|
|
border: 1px solid rgba(255, 198, 120, 0.18);
|
|
background: #05070b;
|
|
box-shadow:
|
|
0 28px 68px rgba(0, 0, 0, 0.44),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.04);
|
|
}
|
|
|
|
.sai-visual,
|
|
.sai-visual-plate,
|
|
.sai-visual-scrim {
|
|
position: absolute;
|
|
inset: 0;
|
|
}
|
|
|
|
.sai-visual-plate {
|
|
background-position: center;
|
|
background-size: cover;
|
|
opacity: 0;
|
|
transform: scale(1.035);
|
|
filter: saturate(1.08) contrast(1.02) brightness(0.86);
|
|
transition:
|
|
opacity 780ms ease,
|
|
transform 1400ms ease;
|
|
}
|
|
|
|
.sai-visual-plate.is-active {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
|
|
.sai-visual-scrim {
|
|
background:
|
|
radial-gradient(
|
|
circle at 50% 32%,
|
|
transparent 0%,
|
|
rgba(0, 0, 0, 0.1) 34%,
|
|
rgba(0, 0, 0, 0.7) 100%
|
|
),
|
|
linear-gradient(180deg, rgba(3, 5, 8, 0.18), rgba(3, 5, 8, 0.82));
|
|
}
|
|
|
|
.sai-visual-caption {
|
|
position: absolute;
|
|
top: 1rem;
|
|
left: 1rem;
|
|
margin: 0;
|
|
padding: 0.4rem 0.65rem;
|
|
border: 1px solid rgba(255, 198, 120, 0.24);
|
|
border-radius: 999px;
|
|
background: rgba(5, 8, 13, 0.62);
|
|
color: rgba(255, 225, 184, 0.92);
|
|
font-family: var(--sai-title-font);
|
|
font-size: 0.72rem;
|
|
letter-spacing: 0.12em;
|
|
text-transform: uppercase;
|
|
backdrop-filter: blur(12px);
|
|
}
|
|
|
|
.sai-slide-references {
|
|
position: absolute;
|
|
top: 1rem;
|
|
right: 1rem;
|
|
z-index: 1;
|
|
width: min(24rem, calc(100% - 2rem));
|
|
max-width: 42%;
|
|
padding: 0.62rem 0.72rem 0.68rem;
|
|
border: 1px solid rgba(255, 198, 120, 0.22);
|
|
border-radius: 18px;
|
|
background: rgba(5, 8, 13, 0.68);
|
|
color: rgba(226, 238, 252, 0.9);
|
|
box-shadow: 0 14px 32px rgba(0, 0, 0, 0.28);
|
|
backdrop-filter: blur(14px);
|
|
}
|
|
|
|
.sai-slide-references[hidden] {
|
|
display: none;
|
|
}
|
|
|
|
.sai-slide-references-title {
|
|
margin: 0 0 0.38rem;
|
|
color: rgba(255, 225, 184, 0.94);
|
|
font-family: var(--sai-title-font);
|
|
font-size: 0.68rem;
|
|
letter-spacing: 0.12em;
|
|
line-height: 1.1;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.sai-slide-references-list {
|
|
display: grid;
|
|
gap: 0.24rem;
|
|
margin: 0;
|
|
padding: 0;
|
|
list-style: none;
|
|
}
|
|
|
|
.sai-slide-references-list li {
|
|
margin: 0;
|
|
color: rgba(226, 238, 252, 0.88);
|
|
font-size: clamp(0.72rem, 1.1vw, 0.82rem);
|
|
line-height: 1.28;
|
|
}
|
|
|
|
.sai-slide-references-list a {
|
|
color: rgba(255, 198, 120, 0.94);
|
|
}
|
|
|
|
.sai-slide-references-list a:hover,
|
|
.sai-slide-references-list a:focus-visible {
|
|
color: #fff3e8;
|
|
}
|
|
|
|
.sai-section {
|
|
position: absolute;
|
|
inset: auto clamp(0.85rem, 3vw, 2rem) clamp(1.5rem, 6vh, 4rem);
|
|
display: grid;
|
|
place-items: end stretch;
|
|
}
|
|
|
|
.sai-section-text {
|
|
max-width: min(760px, 100%);
|
|
padding: clamp(1rem, 2.3vw, 1.45rem);
|
|
border: 1px solid rgba(255, 198, 120, 0.18);
|
|
border-radius: 24px;
|
|
background:
|
|
linear-gradient(135deg, rgba(7, 10, 15, 0.72), rgba(10, 16, 23, 0.54)),
|
|
radial-gradient(
|
|
circle at 14% 0%,
|
|
rgba(255, 198, 120, 0.14),
|
|
transparent 26%
|
|
);
|
|
box-shadow:
|
|
0 20px 54px rgba(0, 0, 0, 0.42),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
|
backdrop-filter: blur(18px);
|
|
}
|
|
|
|
.sai-line,
|
|
.sai-end,
|
|
.sai-error {
|
|
margin: 0;
|
|
color: rgba(246, 241, 226, 0.96);
|
|
font-size: clamp(1.05rem, 1.8vw, 1.32rem);
|
|
line-height: 1.65;
|
|
text-shadow: 0 2px 18px rgba(0, 0, 0, 0.55);
|
|
}
|
|
|
|
.sai-end,
|
|
.sai-error {
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
|
|
.sai-error {
|
|
color: #ffb7a6;
|
|
}
|
|
|
|
.sai-section-text.is-entering {
|
|
animation: saiTextIn 520ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
|
|
}
|
|
|
|
.sai-section-text.is-exiting {
|
|
animation: saiTextOut 220ms ease both;
|
|
}
|
|
|
|
.sai-player-speaker {
|
|
box-sizing: border-box;
|
|
width: 100%;
|
|
max-width: 100%;
|
|
gap: 0;
|
|
padding: 0;
|
|
border: 0;
|
|
border-radius: 0;
|
|
background: transparent;
|
|
box-shadow: none;
|
|
}
|
|
|
|
.sai-player-speaker > .sai-status {
|
|
display: none;
|
|
}
|
|
|
|
.sai-speaker-stage {
|
|
position: relative;
|
|
height: clamp(320px, 42vw, 560px);
|
|
max-height: calc(100vh - 8rem);
|
|
min-height: 320px;
|
|
overflow: hidden;
|
|
border: 0;
|
|
border-radius: 0;
|
|
background: #05070b;
|
|
box-shadow: 0 26px 72px rgba(0, 0, 0, 0.44);
|
|
}
|
|
|
|
.sai-speaker-stage.has-dom-cards {
|
|
height: clamp(520px, 74vh, 820px);
|
|
}
|
|
|
|
.sai-speaker-stage.has-sprites.has-dom-cards {
|
|
height: clamp(620px, 78vh, 860px);
|
|
}
|
|
|
|
.sai-speaker-stage.can-continue {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sai-speaker-background,
|
|
.sai-speaker-scrim {
|
|
position: absolute;
|
|
inset: 0;
|
|
}
|
|
|
|
.sai-speaker-background {
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
background-size: cover;
|
|
filter: saturate(1.06) contrast(1.02) brightness(0.92);
|
|
}
|
|
|
|
.sai-speaker-scrim {
|
|
background:
|
|
linear-gradient(
|
|
180deg,
|
|
rgba(3, 4, 7, 0.04),
|
|
rgba(3, 4, 7, 0.48) 56%,
|
|
rgba(3, 4, 7, 0.76)
|
|
),
|
|
radial-gradient(
|
|
circle at 50% 24%,
|
|
transparent 0%,
|
|
rgba(0, 0, 0, 0.08) 44%,
|
|
rgba(0, 0, 0, 0.5) 100%
|
|
);
|
|
}
|
|
|
|
.sai-speaker-scene {
|
|
position: absolute;
|
|
top: 1rem;
|
|
left: 1rem;
|
|
z-index: 1;
|
|
margin: 0;
|
|
padding: 0.42rem 0.68rem;
|
|
border: 1px solid rgba(255, 198, 120, 0.24);
|
|
border-radius: 999px;
|
|
background: rgba(5, 8, 13, 0.64);
|
|
color: rgba(255, 225, 184, 0.92);
|
|
font-family: var(--sai-title-font);
|
|
font-size: 0.72rem;
|
|
letter-spacing: 0.12em;
|
|
text-transform: uppercase;
|
|
backdrop-filter: blur(12px);
|
|
}
|
|
|
|
.sai-speaker-scene[hidden] {
|
|
display: none;
|
|
}
|
|
|
|
.sai-graph-layer {
|
|
position: absolute;
|
|
top: 3.2rem;
|
|
left: 1rem;
|
|
z-index: 4;
|
|
width: min(24rem, calc(100% - 2rem));
|
|
height: min(15rem, 34vh);
|
|
overflow: hidden;
|
|
border: 1px solid rgba(89, 183, 255, 0.18);
|
|
border-radius: 12px;
|
|
background:
|
|
linear-gradient(180deg, rgba(5, 9, 15, 0.72), rgba(3, 6, 11, 0.52)),
|
|
radial-gradient(circle at 16% 10%, rgba(89, 183, 255, 0.12), transparent 36%);
|
|
box-shadow:
|
|
0 18px 42px rgba(0, 0, 0, 0.34),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
|
pointer-events: auto;
|
|
backdrop-filter: blur(8px);
|
|
}
|
|
|
|
.sai-graph-layer[hidden] {
|
|
display: none;
|
|
}
|
|
|
|
.sai-graph-layer svg {
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
.sai-graph-edges line {
|
|
stroke: rgba(89, 183, 255, 0.38);
|
|
stroke-width: 2.6;
|
|
stroke-linecap: round;
|
|
}
|
|
|
|
.sai-graph-node {
|
|
cursor: pointer;
|
|
outline: none;
|
|
transition: opacity 140ms ease;
|
|
}
|
|
|
|
.sai-graph-node circle {
|
|
fill: rgba(7, 17, 26, 0.32);
|
|
stroke: rgba(89, 183, 255, 0.72);
|
|
stroke-width: 2.5;
|
|
transition:
|
|
fill 160ms ease,
|
|
stroke 160ms ease,
|
|
stroke-width 160ms ease;
|
|
}
|
|
|
|
.sai-graph-node text {
|
|
fill: rgba(246, 241, 226, 0.92);
|
|
font-family: var(--sai-title-font);
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
text-anchor: middle;
|
|
dominant-baseline: middle;
|
|
paint-order: stroke;
|
|
stroke: rgba(0, 0, 0, 0.76);
|
|
stroke-width: 4px;
|
|
pointer-events: none;
|
|
transition: opacity 140ms ease;
|
|
}
|
|
|
|
.sai-graph-node.is-visited circle {
|
|
fill: rgba(89, 183, 255, 0.12);
|
|
}
|
|
|
|
.sai-graph-node.is-available circle {
|
|
stroke: rgba(255, 198, 120, 0.88);
|
|
}
|
|
|
|
.sai-graph-node.is-current circle {
|
|
fill: rgba(255, 138, 42, 0.24);
|
|
stroke: rgba(255, 138, 42, 1);
|
|
stroke-width: 4;
|
|
}
|
|
|
|
.sai-graph-node.is-current text {
|
|
fill: rgba(255, 138, 42, 1);
|
|
stroke: rgba(3, 5, 8, 0.92);
|
|
stroke-width: 5px;
|
|
opacity: 1;
|
|
}
|
|
|
|
.sai-graph-node:hover circle,
|
|
.sai-graph-node:focus-visible circle {
|
|
fill: rgba(255, 198, 120, 0.18);
|
|
stroke: rgba(255, 236, 207, 1);
|
|
stroke-width: 4;
|
|
}
|
|
|
|
.sai-graph-error {
|
|
max-width: 30rem;
|
|
margin: 0;
|
|
color: #ffb7a6;
|
|
font-size: 0.9rem;
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.sai-sprite-layer {
|
|
position: absolute;
|
|
inset: 0 0 128px;
|
|
z-index: 1;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.sai-sprite-layer[hidden] {
|
|
display: none;
|
|
}
|
|
|
|
.sai-sprite-layer.is-entering .sai-sprite {
|
|
animation: saiSpriteIn 360ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
|
|
}
|
|
|
|
.sai-sprite {
|
|
position: absolute;
|
|
bottom: clamp(0.3rem, 2vw, 1.4rem);
|
|
left: 50%;
|
|
display: grid;
|
|
width: min(34vw, 18rem);
|
|
max-width: 42%;
|
|
min-width: 9rem;
|
|
margin: 0;
|
|
transform: translateX(-50%)
|
|
translate(
|
|
var(--sai-sprite-offset-x, 0),
|
|
var(--sai-sprite-offset-y, 0)
|
|
)
|
|
scale(calc(var(--sai-sprite-scale, 1) * var(--sai-sprite-pixel-scale, 1)));
|
|
transform-origin: bottom center;
|
|
filter: drop-shadow(0 1.2rem 1.8rem rgba(0, 0, 0, 0.55));
|
|
}
|
|
|
|
.sai-sprite[data-sai-position="left"] {
|
|
left: 22%;
|
|
}
|
|
|
|
.sai-sprite[data-sai-position="midleft"],
|
|
.sai-sprite[data-sai-position="centerleft"] {
|
|
left: 34%;
|
|
}
|
|
|
|
.sai-sprite[data-sai-position="right"] {
|
|
left: 78%;
|
|
}
|
|
|
|
.sai-sprite[data-sai-position="midright"],
|
|
.sai-sprite[data-sai-position="centerright"] {
|
|
left: 66%;
|
|
}
|
|
|
|
.sai-sprite[data-sai-position="farleft"] {
|
|
left: 12%;
|
|
}
|
|
|
|
.sai-sprite[data-sai-position="farright"] {
|
|
left: 88%;
|
|
}
|
|
|
|
.sai-sprite-image {
|
|
display: block;
|
|
width: 100%;
|
|
height: auto;
|
|
image-rendering: pixelated;
|
|
object-fit: contain;
|
|
}
|
|
|
|
.sai-dom-layer {
|
|
position: absolute;
|
|
inset: 3.6rem 1rem 9rem;
|
|
z-index: 2;
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
|
|
gap: 0.9rem;
|
|
align-items: stretch;
|
|
overflow: auto;
|
|
padding: 0.2rem;
|
|
}
|
|
|
|
.sai-speaker-stage.has-sprites.has-dom-cards .sai-dom-layer {
|
|
inset: 3.6rem 1rem 44%;
|
|
align-items: start;
|
|
}
|
|
|
|
.sai-speaker-stage.has-adventure-graph.has-dom-cards .sai-dom-layer {
|
|
inset: 3.6rem 1rem 9rem calc(min(24rem, calc(100% - 2rem)) + 2rem);
|
|
}
|
|
|
|
.sai-speaker-stage.has-sprites.has-dom-cards .sai-dom-card {
|
|
max-height: 100%;
|
|
}
|
|
|
|
.sai-speaker-stage.has-sprites.has-dom-cards .sai-sprite {
|
|
bottom: clamp(0.8rem, 3vw, 2.6rem);
|
|
}
|
|
|
|
.sai-dom-layer[hidden] {
|
|
display: none;
|
|
}
|
|
|
|
.sai-dom-layer.is-entering {
|
|
animation: saiSpeakerIn 320ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
|
|
}
|
|
|
|
.sai-dom-card {
|
|
box-sizing: border-box;
|
|
min-width: 0;
|
|
max-height: 100%;
|
|
overflow: auto;
|
|
padding: 0.95rem 1rem;
|
|
border: 1px solid rgba(255, 198, 120, 0.22);
|
|
border-radius: 18px;
|
|
background:
|
|
linear-gradient(180deg, rgba(8, 12, 18, 0.78), rgba(7, 10, 15, 0.62)),
|
|
radial-gradient(
|
|
circle at 10% 0%,
|
|
rgba(255, 198, 120, 0.1),
|
|
transparent 28%
|
|
);
|
|
box-shadow:
|
|
0 18px 44px rgba(0, 0, 0, 0.32),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
|
backdrop-filter: blur(16px);
|
|
}
|
|
|
|
.sai-dom-card-title {
|
|
margin: 0 0 0.55rem;
|
|
color: rgba(255, 198, 120, 0.96);
|
|
font-family: var(--sai-title-font);
|
|
font-size: 0.72rem;
|
|
letter-spacing: 0.12em;
|
|
line-height: 1.15;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.sai-dom-card-body {
|
|
min-width: 0;
|
|
}
|
|
|
|
.sai-dom-card-body > * {
|
|
margin: 0;
|
|
}
|
|
|
|
.sai-dom-card-body h1,
|
|
.sai-dom-card-body h2,
|
|
.sai-dom-card-body h3 {
|
|
margin: 0 0 0.45rem;
|
|
color: rgba(246, 241, 226, 0.98);
|
|
font-family: var(--sai-title-font);
|
|
line-height: 1.05;
|
|
}
|
|
|
|
.sai-dom-card-body h1 {
|
|
font-size: clamp(1.25rem, 2.3vw, 1.7rem);
|
|
}
|
|
|
|
.sai-dom-card-body h2,
|
|
.sai-dom-card-body h3 {
|
|
font-size: clamp(1rem, 1.7vw, 1.24rem);
|
|
}
|
|
|
|
.sai-dom-card-body p,
|
|
.sai-dom-card-body li {
|
|
color: rgba(226, 238, 252, 0.9);
|
|
font-size: 0.94rem;
|
|
line-height: 1.48;
|
|
}
|
|
|
|
.sai-dom-card-body a {
|
|
color: rgba(255, 198, 120, 0.95);
|
|
}
|
|
|
|
.sai-dom-card-body ul {
|
|
margin: 0.45rem 0 0;
|
|
padding-left: 1.1rem;
|
|
}
|
|
|
|
.sai-speaker-card {
|
|
position: absolute;
|
|
box-sizing: border-box;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
z-index: 3;
|
|
display: grid;
|
|
grid-template-columns: 128px minmax(0, 1fr);
|
|
align-items: stretch;
|
|
width: 100%;
|
|
height: 128px;
|
|
min-height: 128px;
|
|
margin: 0;
|
|
padding: 0;
|
|
border: 1px solid rgba(255, 198, 120, 0.24);
|
|
border-right: 0;
|
|
border-bottom: 0;
|
|
border-left: 0;
|
|
border-radius: 0;
|
|
background:
|
|
linear-gradient(135deg, rgba(5, 8, 13, 0.9), rgba(9, 14, 22, 0.78)),
|
|
radial-gradient(circle at 8% 4%, rgba(255, 198, 120, 0.14), transparent 26%);
|
|
box-shadow:
|
|
0 24px 60px rgba(0, 0, 0, 0.5),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
|
backdrop-filter: blur(16px);
|
|
}
|
|
|
|
.sai-speaker-card.is-entering {
|
|
animation: saiSpeakerIn 360ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
|
|
}
|
|
|
|
.sai-speaker-card.is-exiting {
|
|
animation: saiTextOut 160ms ease both;
|
|
}
|
|
|
|
.sai-speaker-avatar-shell {
|
|
display: grid;
|
|
place-items: center;
|
|
width: 100%;
|
|
height: 100%;
|
|
min-height: inherit;
|
|
overflow: hidden;
|
|
border: 0;
|
|
border-right: 1px solid rgba(255, 198, 120, 0.24);
|
|
border-radius: 0;
|
|
background: rgba(3, 5, 8, 0.72);
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
.sai-speaker-avatar {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.sai-speaker-avatar[hidden] {
|
|
display: none;
|
|
}
|
|
|
|
.sai-speaker-body {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr);
|
|
grid-template-rows: auto minmax(0, 1fr);
|
|
gap: 0.32rem;
|
|
align-content: stretch;
|
|
min-width: 0;
|
|
padding: 0.74rem 1rem;
|
|
}
|
|
|
|
.sai-speaker-controls {
|
|
position: absolute;
|
|
right: 1rem;
|
|
bottom: calc(128px + 0.55rem);
|
|
left: clamp(12rem, 42vw, 58rem);
|
|
z-index: 6;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 0.35rem;
|
|
align-items: flex-end;
|
|
justify-content: flex-end;
|
|
min-width: 0;
|
|
margin: 0;
|
|
padding: 0;
|
|
border: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.sai-speaker-controls .sai-choices {
|
|
display: flex;
|
|
flex: 0 1 auto;
|
|
flex-wrap: wrap;
|
|
gap: 0.35rem;
|
|
justify-content: flex-end;
|
|
width: auto;
|
|
max-width: 100%;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
.sai-speaker-controls .sai-choices:empty {
|
|
display: none;
|
|
}
|
|
|
|
.sai-speaker-controls .sai-choice,
|
|
.sai-speaker-controls .sai-continue {
|
|
min-height: 2rem;
|
|
max-width: min(22rem, 100%);
|
|
padding: 0.38rem 0.58rem;
|
|
border: 1px solid rgba(255, 198, 120, 0.2);
|
|
border-radius: 6px;
|
|
background: rgba(4, 7, 11, 0.58);
|
|
color: rgba(255, 236, 207, 0.96);
|
|
font-size: 0.82rem;
|
|
line-height: 1.15;
|
|
text-align: left;
|
|
box-shadow:
|
|
0 10px 24px rgba(0, 0, 0, 0.28),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
|
backdrop-filter: blur(10px);
|
|
pointer-events: auto;
|
|
}
|
|
|
|
.sai-speaker-controls .sai-restart {
|
|
display: none;
|
|
}
|
|
|
|
.sai-speaker-controls .sai-continue {
|
|
justify-self: auto;
|
|
align-self: flex-end;
|
|
font-family: var(--sai-body-font);
|
|
letter-spacing: 0;
|
|
text-transform: none;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.sai-speaker-stage > .sai-continue {
|
|
position: absolute;
|
|
right: 1rem;
|
|
bottom: calc(128px + 0.85rem);
|
|
z-index: 7;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 2rem;
|
|
padding: 0.25rem 0;
|
|
border: 0;
|
|
background: transparent;
|
|
color: rgba(255, 244, 230, 1);
|
|
font-family: var(--sai-body-font);
|
|
font-size: 0.96rem;
|
|
font-weight: 800;
|
|
line-height: 1;
|
|
text-align: center;
|
|
white-space: nowrap;
|
|
text-shadow:
|
|
0 2px 10px rgba(0, 0, 0, 0.82),
|
|
0 0 18px rgba(255, 138, 42, 0.46);
|
|
box-shadow: none;
|
|
backdrop-filter: none;
|
|
}
|
|
|
|
.sai-speaker-stage > .sai-continue::after {
|
|
content: ">";
|
|
margin-left: 0.55rem;
|
|
color: rgba(255, 198, 120, 1);
|
|
font-family: var(--sai-title-font);
|
|
font-weight: 800;
|
|
}
|
|
|
|
.sai-speaker-stage > .sai-continue:hover,
|
|
.sai-speaker-stage > .sai-continue:focus-visible {
|
|
color: rgba(255, 198, 120, 1);
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.sai-speaker-controls .sai-choice:hover,
|
|
.sai-speaker-controls .sai-choice:focus-visible,
|
|
.sai-speaker-controls .sai-continue:hover,
|
|
.sai-speaker-controls .sai-continue:focus-visible {
|
|
background: rgba(255, 198, 120, 0.12);
|
|
color: rgba(255, 198, 120, 1);
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.sai-speaker-name {
|
|
grid-column: 1;
|
|
margin: 0;
|
|
color: rgba(255, 198, 120, 0.96);
|
|
font-family: var(--sai-title-font);
|
|
font-size: 0.96rem;
|
|
letter-spacing: 0.1em;
|
|
line-height: 1.15;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.sai-speaker-line {
|
|
grid-column: 1;
|
|
margin: 0;
|
|
color: rgba(246, 241, 226, 0.96);
|
|
font-size: 1.06rem;
|
|
line-height: 1.28;
|
|
text-shadow: 0 2px 18px rgba(0, 0, 0, 0.55);
|
|
}
|
|
|
|
@media (max-width: 760px) {
|
|
.sai-speaker-stage.has-dom-cards {
|
|
height: min(760px, calc(100vh - 2rem));
|
|
min-height: 620px;
|
|
}
|
|
|
|
.sai-dom-layer {
|
|
inset: 3.2rem 0.65rem 13.5rem;
|
|
grid-template-columns: minmax(0, 1fr);
|
|
}
|
|
|
|
.sai-graph-layer {
|
|
top: 3.2rem;
|
|
left: 0.65rem;
|
|
width: min(18rem, calc(100% - 1.3rem));
|
|
height: min(11rem, 28vh);
|
|
}
|
|
|
|
.sai-speaker-stage.has-sprites.has-dom-cards .sai-dom-layer {
|
|
inset: 3.2rem 0.65rem 50%;
|
|
}
|
|
|
|
.sai-speaker-stage.has-adventure-graph.has-dom-cards .sai-dom-layer {
|
|
inset: calc(3.2rem + min(11rem, 28vh) + 0.75rem) 0.65rem 13.5rem;
|
|
}
|
|
|
|
.sai-sprite-layer {
|
|
bottom: 13rem;
|
|
}
|
|
|
|
.sai-sprite {
|
|
width: min(42vw, 12rem);
|
|
min-width: 7.5rem;
|
|
max-width: 48%;
|
|
}
|
|
|
|
.sai-sprite[data-sai-position="left"],
|
|
.sai-sprite[data-sai-position="farleft"] {
|
|
left: 25%;
|
|
}
|
|
|
|
.sai-sprite[data-sai-position="right"],
|
|
.sai-sprite[data-sai-position="farright"] {
|
|
left: 75%;
|
|
}
|
|
|
|
.sai-speaker-card {
|
|
grid-template-columns: 96px minmax(0, 1fr);
|
|
height: auto;
|
|
min-height: 128px;
|
|
}
|
|
|
|
.sai-speaker-body {
|
|
grid-template-columns: minmax(0, 1fr);
|
|
}
|
|
|
|
.sai-speaker-controls {
|
|
right: 0.65rem;
|
|
bottom: calc(128px + 0.5rem);
|
|
left: 0.65rem;
|
|
max-height: 8rem;
|
|
overflow: auto;
|
|
justify-content: center;
|
|
}
|
|
|
|
.sai-speaker-controls .sai-choices {
|
|
flex: 1 1 100%;
|
|
justify-content: center;
|
|
}
|
|
|
|
.sai-speaker-controls .sai-choice,
|
|
.sai-speaker-controls .sai-continue {
|
|
flex: 1 1 min(100%, 13rem);
|
|
}
|
|
|
|
.sai-speaker-stage > .sai-continue {
|
|
right: 0.75rem;
|
|
bottom: calc(128px + 0.65rem);
|
|
}
|
|
}
|
|
|
|
.sai-choices {
|
|
position: relative;
|
|
z-index: 1;
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
|
|
gap: 0.65rem;
|
|
}
|
|
|
|
.sai-choice,
|
|
.sai-continue,
|
|
.sai-restart {
|
|
position: relative;
|
|
z-index: 1;
|
|
cursor: pointer;
|
|
border: 1px solid rgba(255, 198, 120, 0.28);
|
|
background: rgba(255, 198, 120, 0.1);
|
|
color: rgba(255, 235, 205, 0.94);
|
|
transition:
|
|
background 160ms ease,
|
|
border-color 160ms ease,
|
|
transform 160ms ease;
|
|
}
|
|
|
|
.sai-choice {
|
|
padding: 0.75rem 0.95rem;
|
|
border-radius: 18px;
|
|
text-align: left;
|
|
}
|
|
|
|
.sai-continue,
|
|
.sai-restart {
|
|
justify-self: center;
|
|
padding: 0.65rem 1rem;
|
|
border-radius: 999px;
|
|
font-family: var(--sai-title-font);
|
|
letter-spacing: 0.08em;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.sai-choice:hover,
|
|
.sai-choice:focus-visible,
|
|
.sai-continue:hover,
|
|
.sai-continue:focus-visible,
|
|
.sai-restart:hover,
|
|
.sai-restart:focus-visible {
|
|
border-color: rgba(255, 198, 120, 0.6);
|
|
background: rgba(255, 198, 120, 0.18);
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.sai-continue[hidden],
|
|
.sai-variables[hidden] {
|
|
display: none;
|
|
}
|
|
|
|
@keyframes saiTextIn {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(0.75rem);
|
|
}
|
|
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
@keyframes saiTextOut {
|
|
from {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
to {
|
|
opacity: 0;
|
|
transform: translateY(0.45rem);
|
|
}
|
|
}
|
|
|
|
@keyframes saiSpeakerIn {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(0.7rem);
|
|
}
|
|
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
@keyframes saiSpriteIn {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateX(-50%)
|
|
translate(
|
|
var(--sai-sprite-offset-x, 0),
|
|
calc(var(--sai-sprite-offset-y, 0) + 1.2rem)
|
|
)
|
|
scale(
|
|
calc(
|
|
var(--sai-sprite-scale, 1) * var(--sai-sprite-pixel-scale, 1) * 0.98
|
|
)
|
|
);
|
|
}
|
|
|
|
to {
|
|
opacity: 1;
|
|
transform: translateX(-50%)
|
|
translate(
|
|
var(--sai-sprite-offset-x, 0),
|
|
var(--sai-sprite-offset-y, 0)
|
|
)
|
|
scale(
|
|
calc(var(--sai-sprite-scale, 1) * var(--sai-sprite-pixel-scale, 1))
|
|
);
|
|
}
|
|
}
|