:root {
  --bg: #0c0c10; --bg-2: #14141a; --fg: #f3f0e8; --muted: #9a978f; --line: rgba(255,255,255,.09);
  --accent: #e8b53a; --serif: "Instrument Serif", Georgia, serif; --sans: "Inter", system-ui, -apple-system, sans-serif;
}
* { box-sizing: border-box; }
html { color-scheme: dark; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 15px/1.55 var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.wrap { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
header.top { display: flex; align-items: baseline; justify-content: space-between; padding: 28px 0 12px; }
.brand { font-family: var(--serif); font-size: 30px; letter-spacing: -.01em; }
.brand em { font-style: italic; color: var(--accent); }
.brand small { font-family: var(--sans); font-size: 12px; color: var(--muted); margin-left: 12px; letter-spacing: .08em; text-transform: uppercase; }
nav.crumbs { font-size: 13px; color: var(--muted); }
nav.crumbs a:hover { color: var(--fg); }

/* front page */
.hero { padding: 40px 0 28px; max-width: 720px; }
.hero h1 { font-family: var(--serif); font-weight: 400; font-size: 60px; line-height: 1.02; margin: 0 0 14px; letter-spacing: -.015em; }
.hero p { color: var(--muted); font-size: 17px; margin: 0; }
.tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(440px, 1fr)); gap: 22px; padding-bottom: 72px; }
@media (max-width: 560px) { .tiles { grid-template-columns: 1fr; } .wrap { padding: 0 18px; } .hero h1 { font-size: 40px; } }
.tile { position: relative; display: block; aspect-ratio: 16 / 10; border-radius: 18px; overflow: hidden; background: var(--bg-2) center/cover no-repeat; border: 1px solid var(--line); isolation: isolate; }
.tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 22%, rgba(0,0,0,.82) 100%); z-index: 1; }
.tile .img { position: absolute; inset: 0; background: center/cover no-repeat; transition: transform .6s ease; }
.tile:hover .img { transform: scale(1.03); }
.tile .text { position: absolute; left: 26px; right: 26px; bottom: 22px; z-index: 2; }
.tile h2 { font-family: var(--serif); font-weight: 400; font-size: 42px; line-height: 1; margin: 0 0 8px; letter-spacing: -.01em; }
.tile p { margin: 0 0 12px; color: rgba(255,255,255,.78); max-width: 520px; }
.tile .meta { display: flex; align-items: center; gap: 14px; font-size: 12px; color: rgba(255,255,255,.7); letter-spacing: .04em; text-transform: uppercase; }
.logos { display: flex; gap: 8px; }
.logos svg { width: 16px; height: 16px; fill: currentColor; opacity: .9; }

/* task page */
.task { display: grid; grid-template-columns: minmax(320px, 440px) 1fr; gap: 40px; padding: 24px 0 80px; align-items: start; }
@media (max-width: 900px) { .task { grid-template-columns: 1fr; } }
.side { position: sticky; top: 24px; }
.side .tile { aspect-ratio: 4 / 3; }
.side .tile h2 { font-size: 36px; }
.side .about { padding: 20px 4px 0; color: var(--muted); }
.side .about .w { display: flex; gap: 14px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; margin-top: 10px; }
.side .about .w b { color: var(--fg); font-weight: 600; }
details.prompt { margin-top: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-2); }
details.prompt summary { list-style: none; cursor: pointer; padding: 12px 16px; display: flex; align-items: center; gap: 10px; font-weight: 500; }
details.prompt summary::-webkit-details-marker { display: none; }
details.prompt summary::before { content: "▸"; color: var(--muted); font-size: 12px; }
details[open].prompt summary::before { content: "▾"; }
button.copy { margin-left: auto; font: 12px var(--sans); padding: 5px 10px; border-radius: 7px; border: 1px solid var(--line); background: transparent; color: var(--fg); cursor: pointer; }
button.copy:hover { border-color: var(--accent); color: var(--accent); }
details.prompt blockquote { margin: 0; padding: 4px 16px 16px; white-space: pre-wrap; font: 13px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--muted); }

.results h3 { font-family: var(--serif); font-weight: 400; font-size: 26px; margin: 8px 0 18px; color: var(--muted); }
.results h3 b { color: var(--fg); font-weight: 400; }
.row { display: grid; grid-template-columns: 176px 1fr auto; gap: 20px; align-items: center; padding: 14px 14px 14px 14px; margin: 0 -14px; border-radius: 14px; border-top: 1px solid var(--line); }
.row:first-of-type { border-top: 0; }
.row:hover { background: var(--bg-2); }
.row .thumb { aspect-ratio: 16 / 10; border-radius: 10px; background: var(--bg-2) center/cover no-repeat; border: 1px solid var(--line); }
.row .title { font-family: var(--serif); font-size: 26px; line-height: 1.1; margin: 0 0 6px; }
.row .model { display: flex; align-items: center; gap: 9px; font-weight: 500; }
.row .model svg { width: 15px; height: 15px; fill: currentColor; opacity: .95; }
.chip { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 999px; border: 1px solid var(--line); color: var(--muted); }
.chip.think { border-color: rgba(232,181,58,.45); color: var(--accent); }
.row .sub { margin-top: 6px; color: var(--muted); font-size: 13px; }
.row .sub span + span::before { content: "·"; margin: 0 8px; opacity: .5; }
.row .play { font-size: 13px; padding: 9px 14px; border-radius: 999px; border: 1px solid var(--line); color: var(--fg); white-space: nowrap; }
.row:hover .play { border-color: var(--accent); color: var(--accent); }
@media (max-width: 640px) { .row { grid-template-columns: 1fr; } .row .play { display: none; } }
footer { padding: 24px 0 48px; color: var(--muted); font-size: 13px; border-top: 1px solid var(--line); }
