legacy-arrflix/web-overrides/theater-design/picker.html
s8n 034dbe68c0
Some checks are pending
secret-scan / gitleaks (HEAD + history) (push) Waiting to run
secret-scan / detect-secrets (entropy + cross-tool) (push) Waiting to run
secret-scan / summary (push) Blocked by required conditions
docs(theater): import design picker assets from /tmp
4-variant ARRFLIX login picker served at localhost:666 (variants 01 The
Theater · 02 The Marquee · 03 The Cinema · 04 The Noir). Variant 01 was
selected. Includes theater-fullsize.html (1920x1080 mockup), 470x170
landscape arrflix-logo (PNG + b64), poster-bg backdrop, and tv_theater_port.py
CSS-block patcher reference for the later prod deploy.

Persisted from /tmp to survive reboot; iteration continues in this dir
under a 4-agent crew (Designer / Coder / Chromium / Inspector).
2026-05-12 17:17:38 +01:00

848 lines
26 KiB
HTML
Raw Permalink 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.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ARRFLIX Login — Picker R3</title>
<style>
:root {
--black: #000000;
--white: #ffffff;
--red: #E50914;
--red-dim: #B0070F;
--font-display: "Bebas Neue", "Anton", Impact, "Haettenschweiler", "Liberation Sans Narrow", "Arial Narrow Bold", "Helvetica Neue Condensed Black", "DejaVu Sans Condensed", sans-serif;
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, "Liberation Sans", Arial, sans-serif;
--font-mono: "SF Mono", "Monaco", "Cascadia Code", "JetBrains Mono", "Roboto Mono", "DejaVu Sans Mono", "Liberation Mono", Consolas, monospace;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
background: #050505;
color: #fff;
font-family: var(--font-body);
overflow-x: auto;
min-height: 100vh;
-webkit-font-smoothing: antialiased;
}
/* === Picker page chrome === */
.picker-header {
padding: 56px 72px 40px;
border-bottom: 1px solid #1a1a1a;
min-width: 2240px;
background:
radial-gradient(ellipse at top right, rgba(229,9,20,0.05) 0%, transparent 50%),
linear-gradient(180deg, #000 0%, #050505 100%);
position: relative;
}
.picker-header::after {
content: ""; position: absolute;
left: 72px; bottom: -1px;
width: 120px; height: 3px; background: var(--red);
}
.picker-title {
font-family: var(--font-display);
font-size: 80px;
letter-spacing: 0.08em;
line-height: 0.9;
color: var(--red);
margin-bottom: 10px;
}
.picker-sub {
font-family: var(--font-mono);
font-size: 12px;
color: #888;
letter-spacing: 0.28em;
text-transform: uppercase;
}
.picker-sub .sep { color: var(--red); margin: 0 14px; }
.picker-meta {
margin-top: 24px;
display: flex;
gap: 56px;
font-family: var(--font-mono);
font-size: 10px;
color: rgba(255,255,255,0.4);
letter-spacing: 0.2em;
text-transform: uppercase;
}
.picker-meta span strong { color: #ccc; margin-left: 8px; }
.grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 64px 56px;
padding: 72px;
width: 2240px;
margin: 0 auto;
}
.variant { display: flex; flex-direction: column; gap: 20px; }
.variant-label { display: flex; align-items: baseline; gap: 22px; padding: 0 4px; }
.variant-num {
font-family: var(--font-display);
font-size: 60px;
color: var(--red);
line-height: 1;
letter-spacing: 0.04em;
}
.variant-name {
font-family: var(--font-display);
font-size: 34px;
color: #fff;
letter-spacing: 0.07em;
text-transform: uppercase;
}
.variant-tag {
margin-left: auto;
font-family: var(--font-mono);
font-size: 10px;
color: #666;
letter-spacing: 0.3em;
text-transform: uppercase;
padding: 6px 12px;
border: 1px solid #2a2a2a;
}
.viewport {
width: 960px;
height: 540px;
overflow: hidden;
position: relative;
border: 1px solid #1f1f1f;
box-shadow: 0 30px 80px rgba(0,0,0,0.85), 0 0 0 1px rgba(229,9,20,0.04);
background: #000;
}
.login-page {
width: 1920px;
height: 1080px;
transform: scale(0.5);
transform-origin: top left;
position: absolute;
top: 0; left: 0;
}
.variant-desc {
font-size: 13.5px;
color: #888;
line-height: 1.65;
padding: 0 4px;
max-width: 520px;
}
.variant-desc strong { color: #ddd; font-weight: 600; }
.variant-desc .red { color: var(--red); font-weight: 700; }
.arrflix-img { display: block; image-rendering: -webkit-optimize-contrast; user-select: none; }
/* === Shared top-bar (centered logo) — all variants === */
.topbar {
position: relative; z-index: 3;
height: 88px;
display: flex;
align-items: center;
justify-content: center;
}
/* === Shared form-row (centered) defaults === */
.row-c { display: flex; align-items: center; justify-content: center; }
/* ========================================================
VARIANT 1 — THE THEATER (dark rectangular card)
======================================================== */
.v1 {
background: url("poster-bg.jpg") center / cover no-repeat, #000;
position: relative;
overflow: hidden;
}
.v1::before {
content: ""; position: absolute; inset: 0; z-index: 1;
background:
radial-gradient(ellipse 70% 60% at center,
rgba(0,0,0,0) 0%,
rgba(0,0,0,0.55) 55%,
rgba(0,0,0,0.92) 100%),
linear-gradient(180deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 75%, rgba(0,0,0,0.7) 100%);
pointer-events: none;
}
.v1 .topbar { background: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 100%); }
.v1 .topbar .arrflix-img { width: 156px; height: auto; }
.v1 .stage {
position: relative; z-index: 2;
display: flex; align-items: center; justify-content: center;
height: calc(100% - 88px);
}
.v1 .card {
background: rgba(0, 0, 0, 0.78);
border: 1px solid rgba(255,255,255,0.06);
width: 540px;
padding: 56px 56px 44px;
backdrop-filter: blur(8px);
}
.v1 .card h1 {
font-family: var(--font-display);
font-size: 48px;
color: #fff;
letter-spacing: 0.03em;
margin-bottom: 36px;
line-height: 1;
text-align: center;
}
.v1 .field { margin-bottom: 24px; }
.v1 .field label {
display: block;
font-family: var(--font-mono);
font-size: 11px;
color: rgba(255,255,255,0.55);
text-transform: uppercase;
letter-spacing: 0.22em;
margin-bottom: 10px;
font-weight: 600;
}
.v1 .field input {
width: 100%;
background: transparent;
border: none;
border-bottom: 1px solid rgba(255,255,255,0.18);
padding: 12px 0 14px;
font-size: 18px;
color: #fff;
outline: none;
}
.v1 .field input:focus { border-bottom-color: var(--red); }
.v1 .row { margin: 30px 0; }
.v1 .check {
width: 20px; height: 20px;
background: var(--red);
position: relative;
margin-right: 12px;
border-radius: 2px;
}
.v1 .check::after {
content: ""; position: absolute;
top: 5px; left: 4px; width: 11px; height: 5px;
border-left: 2px solid #fff;
border-bottom: 2px solid #fff;
transform: rotate(-45deg);
}
.v1 .remember-label { font-size: 14px; color: #ccc; }
.v1 .btn {
width: 100%;
background: var(--red);
color: #fff;
font-size: 17px;
font-weight: 700;
padding: 18px;
border: none;
cursor: pointer;
border-radius: 4px;
letter-spacing: 0.04em;
}
.v1 .disclaimer {
margin-top: 28px;
font-size: 12px;
color: rgba(255,255,255,0.5);
text-align: center;
letter-spacing: 0.04em;
}
/* ========================================================
VARIANT 2 — THE MARQUEE (neon-red outlined card, glowing)
======================================================== */
.v2 {
background: url("poster-bg.jpg") center / cover no-repeat, #000;
position: relative;
overflow: hidden;
}
.v2::before {
content: ""; position: absolute; inset: 0; z-index: 1;
background:
radial-gradient(ellipse 60% 50% at center, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.92) 100%),
linear-gradient(180deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 75%, rgba(0,0,0,0.8) 100%);
pointer-events: none;
}
.v2 .topbar { background: linear-gradient(180deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%); }
.v2 .topbar .arrflix-img { width: 156px; height: auto; }
.v2 .stage {
position: relative; z-index: 2;
display: flex; align-items: center; justify-content: center;
height: calc(100% - 88px);
}
.v2 .marquee {
width: 520px;
padding: 52px 48px 44px;
background: rgba(0,0,0,0.88);
border: 2px solid var(--red);
position: relative;
box-shadow:
0 0 0 1px rgba(229,9,20,0.3),
0 0 32px rgba(229,9,20,0.45),
0 0 80px rgba(229,9,20,0.25),
inset 0 0 24px rgba(229,9,20,0.06);
}
/* Corner L-bracket accents */
.v2 .marquee .corner {
position: absolute;
width: 18px; height: 18px;
border: 2px solid var(--red);
background: #000;
}
.v2 .marquee .corner.tl { top: -10px; left: -10px; border-right: none; border-bottom: none; }
.v2 .marquee .corner.tr { top: -10px; right: -10px; border-left: none; border-bottom: none; }
.v2 .marquee .corner.bl { bottom: -10px; left: -10px; border-right: none; border-top: none; }
.v2 .marquee .corner.br { bottom: -10px; right: -10px; border-left: none; border-top: none; }
/* Top-edge "marquee bulbs" — series of red dots above the card */
.v2 .marquee .bulbs {
position: absolute;
top: -28px;
left: 50%; transform: translateX(-50%);
display: flex; gap: 12px;
}
.v2 .marquee .bulbs span {
width: 6px; height: 6px;
background: var(--red);
border-radius: 50%;
box-shadow: 0 0 10px rgba(229,9,20,0.9);
}
.v2 .marquee .bulbs span:nth-child(odd) { opacity: 0.45; }
.v2 .marquee h1 {
font-family: var(--font-display);
font-size: 46px;
color: #fff;
letter-spacing: 0.06em;
margin-bottom: 6px;
line-height: 1;
text-align: center;
text-shadow: 0 0 24px rgba(229,9,20,0.4);
}
.v2 .marquee .sub {
text-align: center;
color: var(--red);
font-family: var(--font-mono);
font-size: 10px;
text-transform: uppercase;
letter-spacing: 0.45em;
margin-bottom: 36px;
}
.v2 .field { margin-bottom: 22px; }
.v2 .field label {
display: block;
font-family: var(--font-mono);
font-size: 11px;
color: rgba(255,255,255,0.55);
text-transform: uppercase;
letter-spacing: 0.25em;
margin-bottom: 10px;
font-weight: 600;
}
.v2 .field input {
width: 100%;
background: rgba(0,0,0,0.5);
border: 1px solid rgba(229,9,20,0.3);
padding: 14px 16px;
font-size: 17px;
color: #fff;
outline: none;
}
.v2 .field input:focus {
border-color: var(--red);
box-shadow: 0 0 16px rgba(229,9,20,0.4);
}
.v2 .row { margin: 26px 0 28px; }
.v2 .check {
width: 18px; height: 18px;
background: var(--red);
position: relative;
margin-right: 12px;
box-shadow: 0 0 10px rgba(229,9,20,0.7);
}
.v2 .check::after {
content: ""; position: absolute;
top: 4px; left: 3px; width: 10px; height: 5px;
border-left: 2px solid #fff;
border-bottom: 2px solid #fff;
transform: rotate(-45deg);
}
.v2 .remember-label { font-size: 14px; color: #ddd; }
.v2 .btn {
width: 100%;
background: var(--red);
color: #fff;
font-family: var(--font-mono);
font-size: 13px;
font-weight: 700;
padding: 18px;
border: none;
cursor: pointer;
letter-spacing: 0.4em;
text-transform: uppercase;
box-shadow: 0 0 20px rgba(229,9,20,0.5), inset 0 1px 0 rgba(255,255,255,0.15);
}
.v2 .disclaimer {
margin-top: 22px;
font-family: var(--font-mono);
font-size: 11px;
color: rgba(255,255,255,0.5);
text-align: center;
letter-spacing: 0.25em;
text-transform: uppercase;
}
.v2 .disclaimer .red { color: var(--red); }
/* ========================================================
VARIANT 3 — THE CINEMA (letterbox bars, wide thin card)
======================================================== */
.v3 {
background: url("poster-bg.jpg") center / cover no-repeat, #000;
position: relative;
overflow: hidden;
}
.v3::before {
content: ""; position: absolute; inset: 0; z-index: 1;
background:
linear-gradient(180deg,
rgba(0,0,0,1) 0%,
rgba(0,0,0,1) 13%,
rgba(0,0,0,0.35) 13%,
rgba(0,0,0,0.35) 87%,
rgba(0,0,0,1) 87%,
rgba(0,0,0,1) 100%);
pointer-events: none;
}
.v3::after {
content: ""; position: absolute; inset: 0; z-index: 1;
background:
radial-gradient(ellipse 70% 50% at center, rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 80%, rgba(0,0,0,0.9) 100%),
linear-gradient(90deg, rgba(229,9,20,0.04) 0%, transparent 30%, transparent 70%, rgba(229,9,20,0.04) 100%);
pointer-events: none;
}
.v3 .topbar {
background: #000;
border-bottom: 1px solid rgba(229,9,20,0.4);
}
.v3 .topbar .lr-bar {
display: flex; align-items: center; gap: 32px;
}
.v3 .topbar .line-left,
.v3 .topbar .line-right {
width: 120px; height: 1px; background: var(--red);
}
.v3 .topbar .arrflix-img { width: 156px; height: auto; }
.v3 .stage {
position: relative; z-index: 2;
display: flex; align-items: center; justify-content: center;
height: calc(100% - 88px);
}
.v3 .wide-card {
width: 720px;
padding: 48px 64px 40px;
background: rgba(0,0,0,0.82);
border-top: 1px solid rgba(229,9,20,0.6);
border-bottom: 1px solid rgba(229,9,20,0.6);
backdrop-filter: blur(6px);
}
.v3 .wide-card h1 {
font-family: var(--font-display);
font-size: 48px;
color: #fff;
letter-spacing: 0.06em;
margin-bottom: 6px;
line-height: 1;
text-align: center;
}
.v3 .wide-card .divider {
width: 60px; height: 2px;
background: var(--red);
margin: 12px auto 32px;
}
.v3 .two-cols {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
margin-bottom: 24px;
}
.v3 .field label {
display: block;
font-family: var(--font-mono);
font-size: 11px;
color: rgba(255,255,255,0.55);
text-transform: uppercase;
letter-spacing: 0.25em;
margin-bottom: 10px;
font-weight: 600;
text-align: center;
}
.v3 .field input {
width: 100%;
background: transparent;
border: none;
border-bottom: 1px solid rgba(255,255,255,0.2);
padding: 10px 0 12px;
font-size: 18px;
color: #fff;
outline: none;
text-align: center;
}
.v3 .field input:focus { border-bottom-color: var(--red); }
.v3 .row { margin: 24px 0 28px; }
.v3 .check {
width: 18px; height: 18px;
background: var(--red);
position: relative;
margin-right: 12px;
}
.v3 .check::after {
content: ""; position: absolute;
top: 4px; left: 3px; width: 10px; height: 5px;
border-left: 2px solid #fff;
border-bottom: 2px solid #fff;
transform: rotate(-45deg);
}
.v3 .remember-label {
font-family: var(--font-mono);
font-size: 12px;
color: rgba(255,255,255,0.75);
letter-spacing: 0.18em;
text-transform: uppercase;
}
.v3 .btn {
width: 320px;
margin: 0 auto;
display: block;
background: var(--red);
color: #fff;
font-family: var(--font-mono);
font-size: 13px;
font-weight: 700;
padding: 18px;
border: none;
cursor: pointer;
letter-spacing: 0.4em;
text-transform: uppercase;
}
.v3 .disclaimer {
margin-top: 24px;
font-family: var(--font-mono);
font-size: 11px;
color: rgba(255,255,255,0.5);
text-align: center;
letter-spacing: 0.18em;
text-transform: uppercase;
}
.v3 .disclaimer .red { color: var(--red); }
/* ========================================================
VARIANT 4 — THE NOIR (heavily dimmed, tight mono card)
======================================================== */
.v4 {
background: url("poster-bg.jpg") center / cover no-repeat, #000;
position: relative;
overflow: hidden;
}
.v4::before {
content: ""; position: absolute; inset: 0; z-index: 1;
background:
radial-gradient(ellipse 50% 50% at center, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.92) 100%);
backdrop-filter: grayscale(1) blur(2px);
-webkit-backdrop-filter: grayscale(1) blur(2px);
pointer-events: none;
}
.v4 .topbar {
border-bottom: 1px solid #1a1a1a;
background: rgba(0,0,0,0.55);
}
.v4 .topbar .arrflix-img { width: 142px; height: auto; }
.v4 .stage {
position: relative; z-index: 2;
display: flex; align-items: center; justify-content: center;
height: calc(100% - 88px);
}
.v4 .tight-card {
width: 440px;
padding: 56px 48px 44px;
background: rgba(8,8,8,0.92);
border: 1px solid #1f1f1f;
border-top: 2px solid var(--red);
position: relative;
}
.v4 .tight-card::before {
content: "ARR · MMXXVI";
position: absolute;
top: -10px; left: 50%; transform: translateX(-50%);
background: #000;
padding: 0 12px;
font-family: var(--font-mono);
font-size: 9px;
color: var(--red);
letter-spacing: 0.4em;
}
.v4 .tight-card h1 {
font-family: var(--font-display);
font-size: 38px;
color: #fff;
letter-spacing: 0.08em;
margin-bottom: 4px;
line-height: 1;
text-align: center;
}
.v4 .tight-card .sub {
text-align: center;
font-family: var(--font-mono);
font-size: 10px;
color: rgba(255,255,255,0.4);
letter-spacing: 0.4em;
text-transform: uppercase;
margin-bottom: 36px;
}
.v4 .field { margin-bottom: 22px; }
.v4 .field label {
display: flex;
justify-content: space-between;
align-items: baseline;
font-family: var(--font-mono);
font-size: 10px;
color: rgba(255,255,255,0.5);
text-transform: uppercase;
letter-spacing: 0.3em;
margin-bottom: 8px;
font-weight: 600;
}
.v4 .field label .num { color: var(--red); font-size: 9px; }
.v4 .field input {
width: 100%;
background: transparent;
border: none;
border-bottom: 1px solid rgba(255,255,255,0.2);
padding: 6px 0 12px;
font-family: var(--font-mono);
font-size: 16px;
letter-spacing: 0.05em;
color: #fff;
outline: none;
}
.v4 .field input:focus { border-bottom-color: var(--red); }
.v4 .row { margin: 20px 0 28px; }
.v4 .check {
width: 14px; height: 14px;
background: var(--red);
position: relative;
margin-right: 12px;
}
.v4 .check::after {
content: ""; position: absolute;
top: 2px; left: 2px; width: 9px; height: 4px;
border-left: 1.5px solid #fff;
border-bottom: 1.5px solid #fff;
transform: rotate(-45deg);
}
.v4 .remember-label {
font-family: var(--font-mono);
font-size: 10px;
color: rgba(255,255,255,0.7);
letter-spacing: 0.28em;
text-transform: uppercase;
}
.v4 .btn {
width: 100%;
background: transparent;
color: var(--red);
font-family: var(--font-mono);
font-size: 12px;
font-weight: 700;
padding: 16px;
border: 1px solid var(--red);
cursor: pointer;
letter-spacing: 0.4em;
text-transform: uppercase;
transition: background 0.2s, color 0.2s;
}
.v4 .btn:hover { background: var(--red); color: #000; }
.v4 .disclaimer {
margin-top: 24px;
font-family: var(--font-mono);
font-size: 10px;
color: rgba(255,255,255,0.4);
text-align: center;
letter-spacing: 0.3em;
text-transform: uppercase;
}
.v4 .disclaimer .red { color: var(--red); }
.picker-footer {
min-width: 2240px;
padding: 32px 72px 64px;
border-top: 1px solid #1a1a1a;
font-family: var(--font-mono);
font-size: 11px;
color: rgba(255,255,255,0.4);
letter-spacing: 0.22em;
text-transform: uppercase;
display: flex;
justify-content: space-between;
align-items: center;
}
.picker-footer .red { color: var(--red); }
.picker-footer .legend { display: flex; gap: 40px; }
.picker-footer .legend span strong { color: #ccc; }
.login-page input { caret-color: transparent; pointer-events: none; }
.login-page button { pointer-events: none; }
</style>
</head>
<body>
<header class="picker-header">
<h1 class="picker-title">LOGIN PICKER R3</h1>
<div class="picker-sub">
ARRFLIX <span class="sep">/</span> 4 VARIANTS <span class="sep">/</span> ALL SHARE: TOP-BAR CENTERED LOGO + CENTERED SIGN IN
</div>
<div class="picker-meta">
<span>VIEWPORT <strong>1920 × 1080</strong></span>
<span>SCALE <strong>50%</strong></span>
<span>SERVED <strong>127.0.0.1:8888 ONLY</strong></span>
<span>ASSETS <strong>REAL LOGO + REAL BG</strong></span>
</div>
</header>
<main class="grid">
<!-- ================== VARIANT 1 ================== -->
<section class="variant">
<div class="variant-label">
<div class="variant-num">01</div>
<div class="variant-name">The Theater</div>
<div class="variant-tag">Classic Card</div>
</div>
<div class="viewport">
<div class="login-page v1">
<div class="topbar"><img class="arrflix-img" src="arrflix-logo.png" alt="ARRFLIX"></div>
<div class="stage">
<div class="card">
<h1>Sign In</h1>
<div class="field"><label>User</label><input type="text"></div>
<div class="field"><label>Password</label><input type="password"></div>
<div class="row row-c"><div class="check"></div><span class="remember-label">Remember me</span></div>
<button class="btn">Sign In</button>
<div class="disclaimer">Private invite only</div>
</div>
</div>
</div>
</div>
<p class="variant-desc">
<strong>Classic dark card.</strong> Top bar with centered ARRFLIX logo on
gradient fade. Centered "Sign In" heading. Rectangular dark glass card,
underline inputs, square red Sign In. Most familiar / Netflix-like.
<span class="red">Safe pick.</span>
</p>
</section>
<!-- ================== VARIANT 2 ================== -->
<section class="variant">
<div class="variant-label">
<div class="variant-num">02</div>
<div class="variant-name">The Marquee</div>
<div class="variant-tag">Neon Outline</div>
</div>
<div class="viewport">
<div class="login-page v2">
<div class="topbar"><img class="arrflix-img" src="arrflix-logo.png" alt="ARRFLIX"></div>
<div class="stage">
<div class="marquee">
<span class="corner tl"></span><span class="corner tr"></span>
<span class="corner bl"></span><span class="corner br"></span>
<div class="bulbs"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div>
<h1>Sign In</h1>
<div class="sub">Now Showing</div>
<div class="field"><label>User</label><input type="text"></div>
<div class="field"><label>Password</label><input type="password"></div>
<div class="row row-c"><div class="check"></div><span class="remember-label">Remember me</span></div>
<button class="btn">Sign In</button>
<div class="disclaimer">Private invite only</div>
</div>
</div>
</div>
</div>
<p class="variant-desc">
<strong>Neon-red outlined card with marquee bulbs.</strong> 2px red border
with multi-layer glow (32px + 80px), L-bracket corner accents at 4 corners,
row of red dots like theater marquee bulbs above. "NOW SHOWING" subtitle in
red mono caps. Inputs have red borders. Most theatrical / signage feel.
<span class="red">Stands out from the dark-card crowd.</span>
</p>
</section>
<!-- ================== VARIANT 3 ================== -->
<section class="variant">
<div class="variant-label">
<div class="variant-num">03</div>
<div class="variant-name">The Cinema</div>
<div class="variant-tag">Letterbox Wide</div>
</div>
<div class="viewport">
<div class="login-page v3">
<div class="topbar"><img class="arrflix-img" src="arrflix-logo.png" alt="ARRFLIX"></div>
<div class="stage">
<div class="wide-card">
<h1>Sign In</h1>
<div class="divider"></div>
<div class="two-cols">
<div class="field"><label>User</label><input type="text"></div>
<div class="field"><label>Password</label><input type="password"></div>
</div>
<div class="row row-c"><div class="check"></div><span class="remember-label">Remember me</span></div>
<button class="btn">Sign In</button>
<div class="disclaimer">Private invite only</div>
</div>
</div>
</div>
</div>
<p class="variant-desc">
<strong>2.35:1 cinematic letterbox.</strong> Top + bottom black bars frame
the visible poster strip. Wide thin form card sits in the lit band — User
and Password side-by-side, centered short Sign In button. Red hairline
top + bottom borders on card give it a marquee feel.
<span class="red">Most unique layout.</span>
</p>
</section>
<!-- ================== VARIANT 4 ================== -->
<section class="variant">
<div class="variant-label">
<div class="variant-num">04</div>
<div class="variant-name">The Noir</div>
<div class="variant-tag">Tight Mono Card</div>
</div>
<div class="viewport">
<div class="login-page v4">
<div class="topbar"><img class="arrflix-img" src="arrflix-logo.png" alt="ARRFLIX"></div>
<div class="stage">
<div class="tight-card">
<h1>Sign In</h1>
<div class="sub">Private · Invite · Only</div>
<div class="field"><label>User <span class="num">01</span></label><input type="text"></div>
<div class="field"><label>Password <span class="num">02</span></label><input type="password"></div>
<div class="row row-c"><div class="check"></div><span class="remember-label">Remember</span></div>
<button class="btn">Sign In</button>
<div class="disclaimer">Private invite only</div>
</div>
</div>
</div>
</div>
<p class="variant-desc">
<strong>Dimmed noir, tight mono card.</strong> Backdrop is grayscale-blurred
and 92%-dark for a moody movie-still feel. Narrow 440px card with red top
border + a centered "ARR · MMXXVI" badge on the rim, mono numbered field
labels, outlined-then-filled Sign In button.
<span class="red">Most editorial / boutique.</span>
</p>
</section>
</main>
<footer class="picker-footer">
<div>SERVED VIA <span class="red">HTTP://LOCALHOST:8888/PICKER.HTML</span> · 127.0.0.1 ONLY</div>
<div class="legend">
<span>PICK ONE <strong>01 / 02 / 03 / 04</strong></span>
<span>NEXT <strong>PORT INTO TV.S8N.RU</strong></span>
</div>
</footer>
</body>
</html>