mirror of
https://github.com/ranaldsgift/KefinTweaks.git
synced 2026-11-05 15:52:47 +01:00
313 lines
5.0 KiB
CSS
313 lines
5.0 KiB
CSS
/* Movie LUT – mockup-aligned card layout */
|
||
|
||
:root {
|
||
--mlut-bg: #2c2e33;
|
||
--mlut-card: #f4f1ea;
|
||
--mlut-text: #1a1b1e;
|
||
--mlut-muted: #5c5f66;
|
||
--mlut-border: #1a1b1e;
|
||
--mlut-btn: #1c7ed6;
|
||
--mlut-btn-text: #fff;
|
||
}
|
||
|
||
* {
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
html,
|
||
body {
|
||
margin: 0;
|
||
min-height: 100%;
|
||
}
|
||
|
||
body.mlut-body {
|
||
font-family:
|
||
"Segoe UI",
|
||
system-ui,
|
||
-apple-system,
|
||
sans-serif;
|
||
background: var(--mlut-bg);
|
||
color: #e9ecef;
|
||
padding: 1.5rem 0.75rem 3rem;
|
||
}
|
||
|
||
.mlut-app {
|
||
max-width: 1000px;
|
||
margin: 0 auto;
|
||
overflow: visible;
|
||
}
|
||
|
||
.mlut-header {
|
||
text-align: center;
|
||
margin: 1.25rem 0;
|
||
}
|
||
|
||
.mlut-header h1 {
|
||
margin: 0 0 0.35em;
|
||
font-size: 1.5rem;
|
||
font-weight: 700;
|
||
letter-spacing: 0.04em;
|
||
}
|
||
|
||
.mlut-scorebar {
|
||
display: flex;
|
||
justify-content: center;
|
||
gap: 1.25rem;
|
||
margin: 0 0 1rem;
|
||
font-size: 0.9rem;
|
||
color: #ced4da;
|
||
}
|
||
|
||
.mlut-scorebar strong {
|
||
color: #fff;
|
||
}
|
||
|
||
.mlut-status {
|
||
text-align: center;
|
||
min-height: 1.4em;
|
||
margin: 0 0 1rem;
|
||
font-size: 0.9rem;
|
||
color: #ffd43b;
|
||
}
|
||
|
||
.mlut-status[data-tone="muted"] {
|
||
color: #adb5bd;
|
||
}
|
||
|
||
.mlut-status[data-tone="error"] {
|
||
color: #ffa8a8;
|
||
}
|
||
|
||
.mlut-status[data-tone="ok"] {
|
||
color: #8ce99a;
|
||
}
|
||
|
||
/* Stage: nav outside card (sides of swatch), full-width barcode under options */
|
||
.mlut-stage {
|
||
display: grid;
|
||
grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem;
|
||
grid-template-rows: auto auto;
|
||
column-gap: 0.4rem;
|
||
row-gap: 0.35rem;
|
||
align-items: stretch;
|
||
overflow: visible;
|
||
}
|
||
|
||
.mlut-card {
|
||
grid-column: 2;
|
||
grid-row: 1;
|
||
background: var(--mlut-card);
|
||
color: var(--mlut-text);
|
||
border-radius: 14px;
|
||
overflow: hidden;
|
||
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
|
||
display: none;
|
||
flex-direction: column;
|
||
min-width: 0;
|
||
}
|
||
|
||
.mlut-card.is-visible {
|
||
display: flex;
|
||
}
|
||
|
||
.mlut-options {
|
||
list-style: none;
|
||
margin: 0;
|
||
padding: 0;
|
||
}
|
||
|
||
.mlut-option {
|
||
display: block;
|
||
width: 100%;
|
||
text-align: left;
|
||
border: none;
|
||
border-bottom: 1px solid var(--mlut-border);
|
||
background: transparent;
|
||
color: var(--mlut-text);
|
||
font: inherit;
|
||
font-size: 0.95rem;
|
||
font-weight: 600;
|
||
padding: 0.9rem 1.1rem;
|
||
cursor: pointer;
|
||
transition: background 0.12s ease;
|
||
}
|
||
|
||
.mlut-option:last-of-type {
|
||
border-bottom: 1px solid var(--mlut-border);
|
||
}
|
||
|
||
.mlut-option:hover:not(:disabled),
|
||
.mlut-option:focus-visible:not(:disabled) {
|
||
background: rgba(0, 0, 0, 0.05);
|
||
outline: none;
|
||
}
|
||
|
||
.mlut-option:disabled {
|
||
cursor: default;
|
||
}
|
||
|
||
.mlut-option .mlut-option-letter {
|
||
font-weight: 800;
|
||
margin-right: 0.35em;
|
||
}
|
||
|
||
.mlut-option.is-correct {
|
||
background: rgba(85, 62, 242, 0.8) !important;
|
||
}
|
||
|
||
.mlut-option.is-wrong {
|
||
background: rgba(197, 14, 14, 0.8) !important;
|
||
}
|
||
|
||
.mlut-nav-btn {
|
||
grid-row: 1;
|
||
width: 100%;
|
||
height: 100%
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
border: none;
|
||
border-radius: 10px;
|
||
background: rgba(0, 0, 0, 0.35);
|
||
color: #f1f3f5;
|
||
cursor: pointer;
|
||
padding: 0;
|
||
transition:
|
||
background 0.12s ease,
|
||
color 0.12s ease;
|
||
}
|
||
|
||
#mlut-prev {
|
||
grid-column: 1;
|
||
}
|
||
|
||
#mlut-next {
|
||
grid-column: 3;
|
||
}
|
||
|
||
.mlut-nav-btn:hover,
|
||
.mlut-nav-btn:focus-visible {
|
||
background: rgba(28, 126, 214, 0.55);
|
||
color: #fff;
|
||
outline: none;
|
||
}
|
||
|
||
.mlut-nav-btn[hidden] {
|
||
/* Keep the side columns so card width stays stable */
|
||
display: flex;
|
||
visibility: hidden;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.mlut-swatch-wrap {
|
||
position: relative;
|
||
width: 100%;
|
||
height: 10rem;
|
||
background: #111;
|
||
}
|
||
|
||
.mlut-swatch {
|
||
display: block;
|
||
width: 100%;
|
||
height: 100%;
|
||
image-rendering: pixelated;
|
||
}
|
||
|
||
.mlut-swatch-placeholder {
|
||
position: absolute;
|
||
inset: 0;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
color: #868e96;
|
||
font-size: 0.85rem;
|
||
padding: 1rem;
|
||
text-align: center;
|
||
}
|
||
|
||
/* Post-guess stills under card; vertical pointers up to barcode stripes */
|
||
.mlut-reveal {
|
||
grid-column: 2;
|
||
grid-row: 2;
|
||
position: relative;
|
||
padding: 0 0 0.5rem;
|
||
overflow: visible;
|
||
}
|
||
|
||
.mlut-reveal[hidden] {
|
||
display: none !important;
|
||
}
|
||
|
||
.mlut-reveal-connectors {
|
||
position: absolute;
|
||
left: 0;
|
||
top: 0;
|
||
width: 100%;
|
||
pointer-events: none;
|
||
overflow: visible;
|
||
z-index: 0;
|
||
}
|
||
|
||
.mlut-reveal-connectors line {
|
||
stroke: #dee2e6;
|
||
stroke-width: 2;
|
||
stroke-linecap: round;
|
||
}
|
||
|
||
.mlut-reveal-connectors polygon {
|
||
fill: #dee2e6;
|
||
}
|
||
|
||
.mlut-reveal-tiles {
|
||
position: relative;
|
||
z-index: 1;
|
||
display: flex;
|
||
justify-content: stretch;
|
||
align-items: flex-start;
|
||
gap: 0.5rem;
|
||
width: 100%;
|
||
padding-top: 2.75rem;
|
||
overflow: visible;
|
||
}
|
||
|
||
.mlut-reveal-tile {
|
||
/* Equal thirds under the swatch — left/right edges match barcode */
|
||
flex: 1 1 0;
|
||
min-width: 0;
|
||
margin: 0;
|
||
}
|
||
|
||
.mlut-reveal-tile canvas,
|
||
.mlut-reveal-tile img,
|
||
.mlut-reveal-tile .mlut-reveal-ph {
|
||
display: block;
|
||
width: 100%;
|
||
aspect-ratio: 16 / 9;
|
||
object-fit: cover;
|
||
border-radius: 8px;
|
||
border: 2px solid rgba(255, 255, 255, 0.4);
|
||
background: #111;
|
||
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
|
||
}
|
||
|
||
@media (min-width: 480px) {
|
||
.mlut-stage {
|
||
grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem;
|
||
}
|
||
|
||
.mlut-swatch-wrap {
|
||
height: 12rem;
|
||
}
|
||
|
||
.mlut-reveal-tiles {
|
||
padding-top: 3rem;
|
||
gap: 0.55rem;
|
||
}
|
||
}
|
||
|
||
.mlut-footer {
|
||
position: fixed;
|
||
bottom: 5vh;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
} |