bible-strong-avatar-lab/src/features/comparison/grokComparison.css
2026-08-15 12:01:40 +02:00

462 lines
8.3 KiB
CSS

@import 'tailwindcss';
:root {
color: #f5f4ed;
background: #090a0c;
font-family: Georgia, 'Times New Roman', serif;
font-synthesis: none;
}
* {
box-sizing: border-box;
user-select: none;
}
body {
min-width: 320px;
min-height: 100vh;
margin: 0;
background:
linear-gradient(rgb(255 255 255 / 2%) 1px, transparent 1px),
linear-gradient(90deg, rgb(255 255 255 / 2%) 1px, transparent 1px),
radial-gradient(circle at 50% 8%, #25272c 0, #111216 34%, #090a0c 70%);
background-size:
32px 32px,
32px 32px,
auto;
}
button,
a {
font: inherit;
}
.comparison-page {
width: min(1440px, 100%);
min-height: 100vh;
margin: 0 auto;
padding: 34px clamp(18px, 4vw, 64px) 72px;
}
.comparison-header {
display: grid;
grid-template-columns: 1fr auto;
align-items: start;
gap: 28px;
padding-bottom: 32px;
border-bottom: 1px solid rgb(255 255 255 / 14%);
}
.comparison-back,
.comparison-signal,
.comparison-blink-button,
.comparison-kicker,
.comparison-edition,
.comparison-engine-tag,
.comparison-card footer,
.comparison-expression-button span {
font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.comparison-back {
display: inline-flex;
width: fit-content;
align-items: center;
gap: 9px;
padding: 9px 0;
color: #969ba7;
font-size: 11px;
text-decoration: none;
transition: color 160ms ease;
}
.comparison-back:hover {
color: white;
}
.comparison-back svg,
.comparison-signal svg,
.comparison-blink-button svg {
width: 15px;
height: 15px;
}
.comparison-title-lockup {
max-width: 760px;
margin-inline: auto;
text-align: center;
}
.comparison-kicker,
.comparison-edition {
color: #6f8df1;
font-size: 14px;
font-weight: 800;
}
.comparison-title-lockup h1 {
margin: 13px 0 16px;
font-size: clamp(42px, 6.5vw, 92px);
font-weight: 400;
letter-spacing: -0.065em;
line-height: 0.86;
}
.comparison-title-lockup h1 em {
display: block;
color: #7f8490;
font-weight: 400;
}
.comparison-title-lockup p {
max-width: 600px;
margin: 0 auto;
color: #9b9fa8;
font-family: ui-sans-serif, system-ui, sans-serif;
font-size: 14px;
line-height: 1.65;
}
.comparison-signal {
display: inline-flex;
justify-self: end;
align-items: center;
gap: 8px;
padding: 9px 11px;
border: 1px solid rgb(111 141 241 / 40%);
border-radius: 999px;
color: #b9c7fb;
background: rgb(111 141 241 / 10%);
font-size: 10px;
}
.comparison-header-actions {
display: grid;
justify-items: end;
gap: 8px;
}
.comparison-blink-button {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 9px 12px;
border: 1px solid rgb(255 255 255 / 18%);
border-radius: 999px;
color: #a6abb6;
background: rgb(255 255 255 / 5%);
font-size: 10px;
cursor: pointer;
transition:
color 160ms ease,
border-color 160ms ease,
background 160ms ease;
}
.comparison-blink-button:hover,
.comparison-blink-button:focus-visible {
border-color: rgb(255 255 255 / 42%);
color: white;
background: rgb(255 255 255 / 10%);
outline: none;
}
.comparison-stage {
position: relative;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: clamp(14px, 2vw, 28px);
padding: 34px 0;
}
.comparison-card {
min-width: 0;
overflow: hidden;
border: 1px solid rgb(255 255 255 / 14%);
border-radius: 26px;
background: #111318;
box-shadow: 0 28px 70px rgb(0 0 0 / 28%);
}
.remastered-card,
.legacy-card {
background: #fff;
color: #111216;
}
.comparison-card-heading {
display: flex;
min-height: 112px;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 22px 24px 18px;
border-bottom: 1px solid rgb(0 0 0 / 12%);
}
.comparison-card-heading > div {
max-width: 560px;
}
.legacy-card .comparison-card-heading {
border-bottom-color: rgb(0 0 0 / 12%);
}
.comparison-card h2 {
margin: 0 0 8px;
color: #000;
font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
font-size: 18px;
font-weight: 800;
letter-spacing: 0.1em;
text-transform: uppercase;
}
.comparison-card-heading p {
max-width: 54ch;
margin: 0;
color: #555861;
font-family: ui-sans-serif, system-ui, sans-serif;
font-size: 15px;
line-height: 1.5;
}
.legacy-card .comparison-card-heading h2 {
color: #51545d;
}
.legacy-card .comparison-card-heading p {
color: #555861;
}
.comparison-avatar-frame {
display: grid;
min-height: min(49vw, 610px);
place-items: center;
padding: clamp(18px, 3vw, 44px);
}
.comparison-avatar {
display: block;
width: min(100%, 540px);
aspect-ratio: 1;
filter: drop-shadow(0 26px 35px rgb(0 0 0 / 28%));
}
.comparison-rotation-hitarea {
fill: transparent;
cursor: grab;
touch-action: none;
}
.comparison-rotation-hitarea:active {
cursor: grabbing;
}
.legacy-avatar {
filter: drop-shadow(0 26px 32px rgb(0 0 0 / 18%));
}
.legacy-body {
fill: #000;
}
.legacy-eye {
fill: #fff;
}
.comparison-card footer {
display: flex;
justify-content: space-between;
gap: 16px;
padding: 16px 24px 19px;
border-top: 1px solid rgb(255 255 255 / 12%);
color: #777d89;
font-size: 9px;
}
.legacy-card footer {
border-top-color: rgb(0 0 0 / 12%);
color: #565962;
}
.comparison-versus {
position: absolute;
z-index: 5;
top: 50%;
left: 50%;
display: grid;
width: 54px;
height: 54px;
place-items: center;
border: 7px solid #090a0c;
border-radius: 50%;
color: #0b0c0f;
background: #f1efea;
font-family: 'SFMono-Regular', Consolas, monospace;
font-size: 11px;
font-weight: 900;
transform: translate(-50%, -50%) rotate(-8deg);
}
.comparison-expression-panel {
padding: 28px;
border: 1px solid rgb(255 255 255 / 14%);
border-radius: 24px;
background: rgb(17 19 24 / 88%);
}
.comparison-expression-actions {
display: flex;
justify-content: flex-start;
margin-bottom: 14px;
}
.comparison-expression-heading {
display: flex;
align-items: end;
justify-content: space-between;
gap: 24px;
margin-bottom: 22px;
}
.comparison-expression-heading h2 {
margin: 6px 0 0;
font-size: clamp(28px, 4vw, 48px);
font-weight: 400;
letter-spacing: -0.045em;
}
.comparison-expression-heading p {
max-width: 360px;
margin: 0;
color: #858a95;
font-family: ui-sans-serif, system-ui, sans-serif;
font-size: 12px;
text-align: right;
}
.comparison-expression-grid {
display: grid;
grid-template-columns: repeat(13, minmax(0, 1fr));
gap: 8px;
}
.comparison-expression-button {
position: relative;
display: grid;
min-width: 0;
aspect-ratio: 0.78;
place-items: center;
overflow: hidden;
padding: 7px 6px 22px;
border: 1px solid rgb(255 255 255 / 12%);
border-radius: 12px;
color: #8d929d;
background: #181b21;
cursor: pointer;
transition:
border-color 160ms ease,
background 160ms ease,
transform 160ms ease;
}
.comparison-expression-button:hover {
z-index: 1;
border-color: rgb(255 255 255 / 38%);
transform: translateY(-3px);
}
.comparison-expression-button[aria-pressed='true'] {
border-color: #7592f1;
color: white;
background: #253156;
box-shadow: 0 0 0 2px rgb(117 146 241 / 20%);
}
.comparison-expression-button svg {
width: 100%;
aspect-ratio: 1;
}
.comparison-expression-button path {
fill: #f1f0ea;
}
.comparison-expression-button span {
position: absolute;
right: 7px;
bottom: 6px;
font-size: 8px;
}
.comparison-error {
display: grid;
min-height: 100vh;
place-content: center;
gap: 14px;
text-align: center;
}
.comparison-error a {
color: #8ea8ff;
}
@media (max-width: 980px) {
.comparison-header {
grid-template-columns: 1fr auto;
}
.comparison-title-lockup {
grid-column: 1 / -1;
grid-row: 2;
}
.comparison-expression-grid {
grid-template-columns: repeat(9, minmax(0, 1fr));
}
}
@media (max-width: 700px) {
.comparison-page {
padding-inline: 12px;
}
.comparison-stage {
grid-template-columns: 1fr;
}
.comparison-versus {
top: 50%;
}
.comparison-avatar-frame {
min-height: 390px;
}
.comparison-card footer {
gap: 8px;
padding-inline: 16px;
font-size: 7px;
}
.comparison-expression-panel {
padding: 20px 14px;
}
.comparison-expression-heading {
display: block;
}
.comparison-expression-heading p {
margin-top: 10px;
text-align: left;
}
.comparison-expression-grid {
grid-template-columns: repeat(5, minmax(0, 1fr));
}
}