/* Social Mídia do Luis: a identidade nova dele (22/10/2026), a mesma da colagem "A amarela" e do tweet
   escuro. Amarelo-limão, preto e creme de papel com grão; títulos na Anton; apoio na Instrument Serif
   itálica; texto na Plex Sans; dados na Courier datilografada; destaque em marca-texto amarelo.
   Raio zero, sem sombra borrada. A fila é uma parede de recortes colados, e o horário vai num
   carimbo, como o carimbo da colagem. */
@font-face { font-family: "Anton"; src: url(/estatico/fontes/Anton-Regular.ttf); font-display: swap; }
@font-face { font-family: "Instrument Serif"; font-style: italic; src: url(/estatico/fontes/InstrumentSerif-Italic.ttf); font-display: swap; }
@font-face { font-family: "Instrument Serif"; src: url(/estatico/fontes/InstrumentSerif-Regular.ttf); font-display: swap; }
@font-face { font-family: "Plex Sans"; src: url(/estatico/fontes/IBMPlexSans-Variavel.ttf); font-weight: 100 700; font-display: swap; }
@font-face { font-family: "Courier Prime"; src: url(/estatico/fontes/CourierPrime-Regular.ttf); font-display: swap; }
@font-face { font-family: "Courier Prime"; font-weight: 700; src: url(/estatico/fontes/CourierPrime-Bold.ttf); font-display: swap; }

:root {
  --creme: #efe5d3; --papel: #f7f0e2; --amarelo: #f2e14c; --preto: #161514; --tinta-2: #5b554c; --linha: #d8ccb6;
  --titulo: "Anton", "Impact", sans-serif; --serifa: "Instrument Serif", Georgia, serif;
  --texto: "Plex Sans", "Helvetica Neue", Arial, sans-serif; --dado: "Courier Prime", "Courier New", monospace;
  --lado: max(16px, calc((100% - 1100px) / 2));
}
* { box-sizing: border-box; }
html { background: var(--creme); color: var(--preto); -webkit-text-size-adjust: 100%; }
body { margin: 0; min-height: 100vh; background: var(--creme); font: 400 16px/1.5 var(--texto);
  padding-top: env(safe-area-inset-top, 0px); -webkit-font-smoothing: antialiased; position: relative; }
/* grão de papel por cima de tudo (ruído chapado, como o C.grao dos moldes) */
body::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 60; mix-blend-mode: multiply; opacity: .16;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"); }
/* no iPhone aberto como app, a barra de status fica preta como o topo */
body::before { content: ""; position: fixed; z-index: 70; top: 0; left: 0; right: 0; height: env(safe-area-inset-top, 0px); background: var(--preto); }
a { color: var(--preto); text-decoration-thickness: 2px; text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--preto); outline-offset: 2px; box-shadow: 0 0 0 6px var(--amarelo); }
h1, h2, h3, p { margin: 0; }
button, input, textarea, select { font: inherit; color: inherit; }
.arco { display: none; }

.olho { font: 700 13px/1.2 var(--dado); letter-spacing: .06em; text-transform: uppercase; color: var(--tinta-2); }
.dado { font: 400 15px/1.45 var(--dado); color: var(--tinta-2); }
.vazio { font: italic 400 24px/1.25 var(--serifa); color: var(--tinta-2); }

/* topo: tira preta, nome em Anton amarelo, o @ em serifa itálica, luzes do robô */
.topo { position: relative; z-index: 10; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px;
  padding: 12px var(--lado); background: var(--preto); color: var(--creme); }
.marca { display: flex; align-items: baseline; gap: 10px; margin-right: auto; color: var(--amarelo); text-decoration: none; }
.marca b { font: 400 30px/1 var(--titulo); text-transform: uppercase; letter-spacing: .01em; }
.marca span { font: italic 400 22px/1 var(--serifa); color: var(--creme); }
.luzes { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.luz { display: inline-flex; align-items: center; gap: 6px; font: 400 13px var(--dado); color: var(--creme); }
.luz::before { content: ""; width: 9px; height: 9px; background: var(--amarelo); }
.luz.ruim::before { background: transparent; border: 2px solid var(--amarelo); }
.luz.meio::before { background: linear-gradient(90deg, var(--amarelo) 50%, transparent 50%); border: 2px solid var(--amarelo); }
.sair { border: 0; background: none; padding: 4px 0; font: 700 13px var(--dado); letter-spacing: .08em; text-transform: uppercase;
  color: var(--creme); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }

main { padding: 30px var(--lado) 72px; display: grid; gap: 48px; }
.secao { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin-bottom: 18px;
  font: 400 clamp(30px, 6vw, 40px)/1 var(--titulo); text-transform: uppercase; letter-spacing: .005em; }
.secao > span { background: var(--amarelo); padding: 0 .14em; }
.secao small { font: 400 15px var(--dado); text-transform: none; letter-spacing: 0; color: var(--tinta-2); }
.aviso { padding: 12px 16px; background: var(--amarelo); font: 700 15px/1.45 var(--dado); transform: rotate(-.4deg); }
.aviso.erro { background: var(--preto); color: var(--amarelo); }

/* prévias esperando: um recorte de papel com a capa colada e fita */
.esperando { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 22px; }
.cartao-post { position: relative; display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 16px; padding: 18px;
  background: var(--papel); border: 2px solid var(--preto); }
.cartao-post:nth-child(odd) { transform: rotate(-.5deg); }
.cartao-post:nth-child(even) { transform: rotate(.4deg); }
.cartao-post::before { content: ""; position: absolute; top: -12px; left: 34px; width: 92px; height: 24px; transform: rotate(-6deg);
  background: rgba(242, 225, 76, .8); mix-blend-mode: multiply; }
.cartao-post .capa { display: block; width: 118px; aspect-ratio: 4 / 5; background: var(--linha); }
.cartao-post .capa img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cartao-post h3 { font: 600 18px/1.3 var(--texto); margin: 2px 0 8px; }
.cartao-post h3 a { color: var(--preto); text-decoration: none; }
.cartao-post .botoes { grid-column: 1 / -1; }
.alerta { margin-top: 8px; padding: 2px 8px; font: 400 14px/1.45 var(--dado); background: var(--amarelo); display: inline-block; }

/* botões: amarelo é publicar; contorno preto é ação; descartar fica discreto */
.botoes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.botoes form { margin: 0; }
.botao { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 8px 18px;
  border: 2px solid var(--preto); border-radius: 0; background: var(--papel); color: var(--preto);
  font: 400 19px/1 var(--titulo); letter-spacing: .03em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
.botao:hover { background: var(--preto); color: var(--amarelo); }
.botao.posta { background: var(--amarelo); }
.botao.posta:hover { background: var(--preto); color: var(--amarelo); }
.botao.descarta { border-color: transparent; background: transparent; color: var(--tinta-2); text-decoration: underline; text-underline-offset: 4px; }
.botao.descarta:hover { background: var(--preto); color: var(--creme); text-decoration: none; }

/* a fila: recortes colados, o horário num carimbo inclinado */
.prateleira { display: grid; gap: 16px; }
.fita { position: relative; display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; align-items: center; gap: 14px;
  min-height: 84px; padding: 14px 18px 14px 14px; background: var(--papel); border: 2px solid var(--preto);
  color: var(--preto); text-decoration: none; }
.fita:nth-child(odd) { transform: rotate(-.35deg); }
.fita:nth-child(even) { transform: rotate(.3deg); }
.fita .etiqueta { justify-self: start; display: grid; padding: 6px 10px 4px; border: 3px solid var(--preto); transform: rotate(-4deg);
  text-align: center; }
.fita .etiqueta b { font: 400 30px/1 var(--titulo); letter-spacing: .02em; }
.fita .etiqueta small { font: 700 12px/1.3 var(--dado); letter-spacing: .06em; text-transform: uppercase; }
.fita .titulo { font: 500 17px/1.35 var(--texto); overflow-wrap: anywhere; }
.fita .tipo { font: 400 14px var(--dado); color: var(--tinta-2); white-space: nowrap; }
.fita.saindo { background: var(--amarelo); }
.fita:hover .titulo { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* horários */
.horarios { display: flex; flex-wrap: wrap; align-items: end; gap: 10px 14px; }
.horarios label { display: grid; gap: 6px; font: 700 13px var(--dado); letter-spacing: .06em; text-transform: uppercase; color: var(--tinta-2); }
input[type=text], input[type=password], input[type=datetime-local], textarea, select {
  min-height: 46px; padding: 10px 12px; border: 2px solid var(--preto); border-radius: 0; background: var(--papel); }
input:focus, textarea:focus, select:focus { outline: none; background: #fffbe0; box-shadow: inset 0 -4px 0 var(--amarelo); }
.horarios input { width: 220px; max-width: 100%; font-family: var(--dado); }

/* já saiu: lista datilografada */
.saiu ol { display: grid; margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--preto); }
.saiu li { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 10px 0;
  border-bottom: 1px solid var(--linha); }
.saiu img { width: 56px; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.saiu .t { font: 500 16px/1.35 var(--texto); }
.saiu .q { font: 400 13px var(--dado); color: var(--tinta-2); }
.saiu a.dado { color: var(--preto); }

/* prévia de um post */
.previa { display: grid; gap: 30px; }
.cabeca { display: grid; gap: 10px; justify-items: start; }
.cabeca h1 { font: 400 clamp(34px, 7vw, 60px)/1.02 var(--titulo); text-transform: uppercase; }
.estado { display: inline-block; padding: 4px 10px 3px; border: 3px solid var(--preto); transform: rotate(-2deg);
  font: 700 14px var(--dado); letter-spacing: .08em; text-transform: uppercase; }
.estado.na_fila, .estado.publicando { background: var(--amarelo); }
.estado.publicado { background: var(--preto); color: var(--amarelo); }
.estado.erro, .estado.falhou { background: var(--preto); color: var(--creme); }
.laminas { display: grid; grid-auto-flow: column; grid-auto-columns: min(78vw, 420px); gap: 14px; overflow-x: auto;
  scroll-snap-type: x mandatory; padding-bottom: 12px; }
.laminas figure { margin: 0; scroll-snap-align: start; }
.laminas img { width: 100%; aspect-ratio: 4 / 5; display: block; background: var(--linha); border: 2px solid var(--preto); }
.laminas figcaption { margin-top: 6px; font: 400 13px var(--dado); color: var(--tinta-2); }
.colunas { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.legenda { white-space: pre-wrap; padding: 18px; background: var(--papel); border: 2px solid var(--preto); font: 400 16px/1.6 var(--texto); }
.bloco { display: grid; gap: 8px; align-content: start; }
.decidir { display: grid; gap: 16px; padding: 20px; background: var(--preto); color: var(--creme); align-content: start; }
.decidir .olho { color: var(--amarelo); }
.decidir form { display: grid; gap: 8px; margin: 0; }
.decidir .linha { display: flex; flex-wrap: wrap; gap: 8px; }
.decidir .linha > * { flex: 1 1 auto; }
.decidir .botao { border-color: var(--creme); background: transparent; color: var(--creme); width: 100%; }
.decidir .botao:hover { background: var(--creme); color: var(--preto); }
.decidir .botao.posta { border-color: var(--amarelo); background: var(--amarelo); color: var(--preto); }
.decidir .botao.descarta { border-color: transparent; color: var(--creme); }
.decidir input, .decidir textarea { border-color: var(--creme); background: #24221f; color: var(--creme); color-scheme: dark; }
.decidir input:focus, .decidir textarea:focus { background: #2e2b27; }
.decidir textarea::placeholder { color: #9a9286; }
.historico summary { cursor: pointer; font: 400 14px var(--dado); color: var(--tinta-2); }

/* entrada: um cartão de papel colado no amarelo, com fita preta */
body.entrar { background: var(--amarelo); }
.entrada { display: grid; place-items: center; min-height: 100vh; padding: 24px 16px; }
.cartao { position: relative; width: 100%; max-width: 380px; background: var(--papel); border: 2px solid var(--preto); transform: rotate(-1deg); }
.cartao::before { content: ""; position: absolute; top: -14px; left: 50%; width: 120px; height: 28px; margin-left: -60px; transform: rotate(4deg);
  background: rgba(22, 21, 20, .85); }
.cartao form { display: grid; gap: 14px; padding: 30px 24px 26px; transform: rotate(1deg); }
.cartao h1 { font: 400 52px/.95 var(--titulo); text-transform: uppercase; }
.cartao .sub { font: italic 400 22px/1.2 var(--serifa); color: var(--preto); }
.cartao label { display: grid; gap: 6px; font: 700 13px var(--dado); letter-spacing: .06em; text-transform: uppercase; color: var(--tinta-2); }
.cartao .botao { width: 100%; }

@media (max-width: 760px) {
  .colunas { grid-template-columns: minmax(0, 1fr); }
  .fita { grid-template-columns: 112px minmax(0, 1fr); padding-right: 14px; }
  .fita .tipo { display: none; }
  .fita .etiqueta b { font-size: 24px; }
  .fita .titulo { font-size: 15px; }
  .marca b { font-size: 26px; }
  .cartao-post { grid-template-columns: 92px minmax(0, 1fr); gap: 12px; padding: 16px 14px; }
  .cartao-post .capa { width: 92px; }
  .cartao-post .dado { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
