Files
KefinTweaks/pages/movieLut.css
T

313 lines
5.0 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* 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%);
}