:root { --paper: #080908; --ink: #f1eadc; --muted: #a69a87; --panel: #121511; --blood: #e13131; --acid: #d7ff3f; --steel: #c8d3c6; --line: #f1eadc; --shadow: rgba(0, 0, 0, 0.56); } * { box-sizing: border-box; } html { min-height: 100%; background: radial-gradient(circle at 18% 10%, rgba(225, 49, 49, 0.16), transparent 28rem), linear-gradient(90deg, rgba(241, 234, 220, 0.055) 1px, transparent 1px) 0 0 / 34px 34px, linear-gradient(rgba(241, 234, 220, 0.04) 1px, transparent 1px) 0 0 / 34px 34px, var(--paper); } body { min-height: 100vh; margin: 0; color: var(--ink); font-family: Georgia, "Times New Roman", serif; } button, input { font: inherit; } a { color: inherit; } .shell { width: min(1440px, calc(100% - 32px)); margin: 0 auto; padding: 26px 0 56px; } .hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 380px); gap: 24px; align-items: stretch; min-height: 270px; border: 2px solid var(--line); background: radial-gradient(circle at 88% 18%, rgba(215, 255, 63, 0.12), transparent 30%), linear-gradient(135deg, #191d16 0%, #101310 58%, #050605 100%); box-shadow: 10px 10px 0 var(--line); position: relative; overflow: hidden; } .hero::before { content: ""; position: absolute; inset: 14px; border: 1px dashed rgba(241, 234, 220, 0.34); pointer-events: none; } .heroText { padding: 34px; position: relative; z-index: 1; } .kicker { width: max-content; margin: 0 0 18px; padding: 7px 10px; background: var(--acid); border: 2px solid var(--line); color: #11160d; font-family: "Courier New", monospace; font-size: 0.83rem; font-weight: 800; letter-spacing: 0; text-transform: uppercase; } h1 { max-width: 920px; margin: 0; font-size: clamp(4rem, 12vw, 10.5rem); line-height: 0.8; letter-spacing: 0; text-transform: uppercase; } .summary { max-width: 680px; margin: 28px 0 0; color: var(--muted); font-size: 1.12rem; line-height: 1.52; } .caseTag { display: flex; flex-direction: column; justify-content: space-between; min-height: 100%; padding: 28px; background: #050605; color: var(--ink); font-family: "Courier New", monospace; text-transform: uppercase; position: relative; z-index: 1; } .caseTag span { color: var(--acid); font-size: 0.9rem; font-weight: 800; } .caseTag strong { overflow-wrap: anywhere; font-size: 1.45rem; line-height: 1.1; } .sourceBar { display: grid; grid-template-columns: minmax(190px, 1.2fr) minmax(160px, 0.8fr) minmax(130px, 0.55fr) auto; gap: 12px; align-items: end; margin: 34px 0 28px; padding: 14px; border: 2px solid var(--line); background: rgba(12, 15, 12, 0.94); box-shadow: 6px 6px 0 var(--shadow); } .sourceBar label { display: grid; gap: 7px; min-width: 0; } .sourceBar span { font-family: "Courier New", monospace; font-size: 0.75rem; font-weight: 800; text-transform: uppercase; } .sourceBar input { width: 100%; min-height: 46px; border: 2px solid var(--line); border-radius: 0; background: #050605; color: var(--ink); padding: 0 12px; outline: none; } .sourceBar input:focus { box-shadow: 0 0 0 3px var(--acid); } .sourceBar button { min-height: 46px; border: 2px solid var(--line); border-radius: 0; background: var(--blood); color: white; cursor: pointer; font-family: "Courier New", monospace; font-weight: 900; text-transform: uppercase; transition: transform 160ms ease, box-shadow 160ms ease; } .sourceBar button:hover { box-shadow: 4px 4px 0 var(--line); transform: translate(-2px, -2px); } .board { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 26px; align-items: start; min-height: 240px; padding: 12px 0; } .notice { grid-column: 1 / -1; padding: 24px; border: 2px solid var(--line); background: var(--panel); box-shadow: 6px 6px 0 var(--line); color: var(--steel); font-size: 1rem; } .notice.danger { background: #2a0808; color: #ffb7a8; } .photoCard { --tilt: 0deg; border: 2px solid var(--line); background: #0d100d; box-shadow: 8px 9px 0 var(--line); transform: rotate(var(--tilt)); transition: transform 180ms ease, box-shadow 180ms ease; } .photoCard:hover { box-shadow: 12px 13px 0 var(--blood); transform: rotate(0deg) translate(-3px, -3px); } .photoCard a { display: block; position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-bottom: 2px solid var(--line); background: #1b2019; } .photoCard img { display: block; width: 100%; height: 100%; object-fit: cover; filter: contrast(1.12) saturate(0.82) brightness(0.86); } .caption { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: center; padding: 12px; font-family: "Courier New", monospace; } .caption span { padding: 4px 6px; background: var(--blood); color: white; font-size: 0.78rem; font-weight: 900; } .caption strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.92rem; } @media (max-width: 840px) { .shell { width: min(100% - 20px, 720px); padding-top: 14px; } .hero, .sourceBar { grid-template-columns: 1fr; } .heroText { padding: 26px 22px; } h1 { font-size: clamp(3.4rem, 18vw, 6rem); } .summary { font-size: 1rem; } .caseTag { min-height: 130px; } .sourceBar button { width: 100%; } } @media (max-width: 520px) { .board { grid-template-columns: 1fr; } .hero { box-shadow: 6px 6px 0 var(--line); } .kicker { width: auto; } }