/* ============================================================
   Line Aura — a LOUSA (a pele do Line) + as telas do modo história.

   O Line usa o molde do Box (shared/campanha.css) com as cores dele:
   verde de lousa no lugar do azul-noite. O resto é a mesma regra do
   Box (rosa = a única próxima ação, ouro = o que ganhou, papel só pro
   desenho). O que é só do Line:
   - o fundo de lousa com o fantasma das aulas meio apagado (reta,
     paralelas, elipse, leque e onda);
   - o rabisco de giz na home;
   - o título sublinhado por uma reta de ponto a ponto, que é a 1.1.
   ============================================================ */

:root {
  --cp-edge:     #04211D;
  --cp-night:    #072E29;
  --cp-slab:     #0E5047;
  --cp-slab-hi:  #177262;
  --cp-slab-lo:  #0A3B34;
  --cp-slab-top: #146353;
  --cp-text:     #F6F2E9;
  --cp-text-dim: #A6D5C9;
  --cp-bevel-hi: rgba(166, 241, 222, .2);
  --cp-mat-1: #A6F1DE; --cp-mat-2: #3FC7A6; --cp-mat-3: #1F9C80; --cp-mat-4: #0F5E4E;
  --cp-stone-1: #7C8F8B; --cp-stone-2: #57686A; --cp-stone-3: #3B4B4C; --cp-stone-4: #283635;
  --cp-leaf: #6BE08A;

  /* o papel dos desenhos de exercício */
  --lh-ink: #2B2520; --lh-pencil: #7A7066; --lh-ok: #23905A; --lh-arc: #D9731A; --lh-muted: #6E634F;

  /* o fantasma da aula na lousa (giz quase apagado) */
  --lh-giz-a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 380 300' fill='none' stroke='rgba(246,242,233,0.07)' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M30 230 L170 60 M62 244 L202 74 M94 258 L234 88 M126 272 L266 102'/%3E%3Cpath d='M190 262 L352 204'/%3E%3Ccircle cx='190' cy='262' r='6'/%3E%3Ccircle cx='352' cy='204' r='6'/%3E%3C/svg%3E");
  --lh-giz-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 360' fill='none' stroke='rgba(246,242,233,0.07)' stroke-width='3' stroke-linecap='round'%3E%3Cellipse cx='210' cy='180' rx='160' ry='68' transform='rotate(-25 210 180)'/%3E%3Cpath d='M65 248 L355 112' stroke-dasharray='6 10' stroke-width='2'/%3E%3Cpath d='M181 118 L239 242' stroke-dasharray='6 10' stroke-width='2'/%3E%3C/svg%3E");
  --lh-giz-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 330' fill='none' stroke='rgba(246,242,233,0.07)' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M40 96 C100 14 170 14 190 74 C210 134 280 134 334 44'/%3E%3Cpath d='M40 300 L380 170 M40 300 L384 222 M40 300 L382 272 M40 300 L372 318'/%3E%3Ccircle cx='40' cy='300' r='6'/%3E%3C/svg%3E");
}

/* o Line é sempre a lousa: os tokens do tema escuro viram verde,
   e com eles o chip de perfil, o waffle e os menus */
html.dark {
  --cream: #072E29; --cream-soft: #0A3B34; --paper: #0E5047;
  --ink: #F6F2E9; --ink-soft: #CFE9E2; --muted: #8FC3B6;
  --border: #1D7B6B; --pink-soft: rgba(255, 45, 110, .18);
}
html.dark body {
  background-color: var(--cp-night);
  background-image: var(--lh-giz-a), var(--lh-giz-b), var(--lh-giz-c),
    radial-gradient(90% 55% at 50% -6%, rgba(46, 150, 128, .32), transparent 70%),
    linear-gradient(180deg, #0B3D35 0%, #072E29 55%, #05241F 100%);
  background-repeat: no-repeat;
  background-position: left -40px top 70px, right -90px top 34%, left -30px bottom -24px, 0 0, 0 0;
  background-size: 380px auto, 420px auto, 420px auto, 100% 100%, 100% 100%;
  background-attachment: fixed;
}
@media (max-width: 560px) {
  html.dark body { background-size: 260px auto, 300px auto, 300px auto, 100% 100%, 100% 100%; background-position: left -60px top 60px, right -120px top 42%, left -50px bottom -30px, 0 0, 0 0; }
}

.lh-tela[hidden], .lh-play[hidden], .lh-story[hidden], .lh-nota[hidden], .cp-porta__erro[hidden], .cp-ov[hidden] { display: none !important; }

/* ============================================================
   A HOME
   ============================================================ */
.la-home {
  background: transparent; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch;
  justify-content: flex-start; padding: 74px 16px 40px; gap: 0;
}
.la-doodle { position: fixed; }
.la-home-content { max-width: 940px; margin-block: auto; text-align: center; }
.la-home-content input, .la-home-content label, .la-home-content .lh-story, .la-home-content .lh-livres { pointer-events: auto; }

.lh-hero { display: flex; flex-direction: column; align-items: center; margin-bottom: 30px; }
.lh-title {
  font: 400 clamp(54px, 12vw, 96px)/.92 'Lilita One', 'Poppins', sans-serif; letter-spacing: .01em;
  color: var(--cp-text); text-shadow: var(--cp-tx-l);
}
.lh-reta { display: block; width: min(330px, 76vw); height: auto; margin: 12px 0 8px; overflow: visible; }
.lh-reta__anel { fill: none; stroke: rgba(246, 242, 233, .32); stroke-width: 1.6; }
.lh-reta__pt { fill: var(--cp-text); }
.lh-reta__traco {
  fill: none; stroke: var(--cp-text); stroke-width: 4.5; stroke-linecap: round;
  stroke-dasharray: 1; stroke-dashoffset: 1; animation: lhReta .75s .3s cubic-bezier(.3, .7, .2, 1) forwards;
}
@keyframes lhReta { to { stroke-dashoffset: 0; } }
.lh-sub {
  font-family: 'Angela Notes', 'Caveat', cursive; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
  font-size: clamp(19px, 3.8vw, 25px); color: rgba(246, 242, 233, .86); transform: rotate(-1.5deg);
}

.lh-home__grid { display: grid; gap: 26px; width: 100%; grid-template-columns: minmax(0, 540px); justify-content: center; align-items: start; text-align: left; }
.lh-home__grid.tem-historia { grid-template-columns: minmax(0, 560px) 300px; }

/* ── o cartão do modo história ── */
.lh-story { position: relative; margin-top: 20px; padding: 40px 20px 20px; border-radius: 24px; background: var(--cp-slab-bg); box-shadow: var(--cp-slab-shadow); }
.lh-story__rot { position: absolute; left: 50%; top: 0; transform: translate(-50%, -50%); font-size: 22px; }
.lh-story__corpo { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 16px; align-items: center; }
.lh-story .cp-jogar { width: 100%; margin-top: 20px; }
.lh-story__mais { display: flex; justify-content: center; gap: 12px; margin-top: 16px; }
.lh-story__fim { margin-top: 18px; padding: 12px 14px; border-radius: 14px; background: var(--cp-night); box-shadow: var(--cp-well-shadow); font-size: 14px; line-height: 1.5; font-weight: 600; color: var(--cp-text-dim); text-align: center; }
.lh-story__porta { font-size: 14.5px; line-height: 1.55; color: var(--cp-text); margin: 0 0 14px; text-align: center; }

/* ── os modos livres (fixados no canto) ── */
.lh-livres { display: flex; flex-direction: column; gap: 12px; }
.lh-livres__t { font: 400 18px/1 'Lilita One', 'Poppins', sans-serif; color: var(--cp-text-dim); text-shadow: var(--cp-tx-s); padding-left: 4px; }
.lh-livres__lista { display: grid; gap: 16px; }
.lh-home__grid:not(.tem-historia) .lh-livres__t { display: none; }
.lh-home__grid:not(.tem-historia) .lh-livres__lista { grid-template-columns: 1fr 1fr; }
.lh-modo {
  display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 13px; align-items: center;
  width: 100%; padding: 14px 14px 15px; border: 0; border-radius: 18px; cursor: pointer; text-align: left;
  color: var(--cp-text); font: inherit;
  background: linear-gradient(180deg, var(--cp-slab-hi) 0, var(--cp-slab) 100%);
  box-shadow: inset 0 1.5px 0 var(--cp-bevel-hi), 0 0 0 2.5px var(--cp-edge), 0 6px 0 2.5px var(--cp-edge), 0 14px 24px rgba(0, 0, 0, .3);
  transition: transform 70ms ease-out, box-shadow 70ms ease-out, filter 120ms ease-out;
  -webkit-tap-highlight-color: transparent;
}
@media (hover: hover) { .lh-modo:hover { filter: brightness(1.08); } }
.lh-modo:active { transform: translateY(4px); box-shadow: inset 0 1.5px 0 var(--cp-bevel-hi), 0 0 0 2.5px var(--cp-edge), 0 2px 0 2.5px var(--cp-edge); }
.lh-modo:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.lh-modo__ic { width: 54px; height: 54px; border-radius: 15px; display: grid; place-items: center; background: var(--cp-night); box-shadow: var(--cp-well-shadow); color: var(--cp-text); }
.lh-modo__ic svg { width: 34px; height: 34px; display: block; }
.lh-modo__txt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.lh-modo__nome { font: 400 20px/1.05 'Lilita One', 'Poppins', sans-serif; color: var(--cp-text); text-shadow: var(--cp-tx-s); }
.lh-modo__desc { font-size: 13px; line-height: 1.4; font-weight: 600; color: var(--cp-text-dim); }
.lh-modo__rec { font: 700 12px/1.2 'Poppins', sans-serif; color: var(--cp-gold-2); }
.lh-modo__rec:empty { display: none; }

/* ── o Ninja: as opções numa janela ── */
.lh-ninja .cp-ficha__t { margin: 6px 52px 10px 0; }
.lh-ninja .cp-ficha__desc { margin-bottom: 18px; }
.lh-opt { display: flex; flex-direction: column; gap: 8px; margin: 0 0 16px; }
.lh-opt__l { font: 400 16px/1 'Lilita One', 'Poppins', sans-serif; color: var(--cp-text-dim); text-shadow: var(--cp-tx-s); }
.lh-seg { display: flex; gap: 6px; padding: 5px; border-radius: 14px; background: var(--cp-night); box-shadow: var(--cp-well-shadow); }
.lh-seg .la-time {
  flex: 1 1 0; min-height: 42px; padding: 0 8px; border: 0; border-radius: 10px; cursor: pointer;
  background: transparent; color: var(--cp-text-dim); font: 700 14px/1 'Poppins', sans-serif;
  transition: background .12s, color .12s;
}
.lh-seg .la-time:hover { color: var(--cp-text); border: 0; }
.lh-seg .la-time.sel {
  color: #fff; text-shadow: var(--cp-tx-s);
  background: linear-gradient(180deg, var(--cp-mat-2) 0 36%, var(--cp-mat-3) 36%);
  box-shadow: inset 0 1.5px 0 rgba(255, 255, 255, .3), 0 0 0 2px var(--cp-edge), 0 3px 0 2px var(--cp-edge);
}
.lh-ninja .cp-btn--go { width: 100%; margin-top: 6px; }

/* ============================================================
   O MAPA (tela própria)
   ============================================================ */
.lh-tela { position: fixed; inset: 0; z-index: 25; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.lh-mapa__topo { max-width: 820px; margin: 0 auto; padding: 16px 16px 0; display: flex; align-items: center; }
.lh-mapa__topo .cp-btn { min-height: 42px; padding: 0 16px 0 10px; font-size: 16px; }
body.lh-fora .la-topleft, body.lh-fora .la-topright, body.lh-fora #abr-fab-line { display: none !important; }

/* os desenhos dos exercícios (sempre em papel) */
.lh-dg { display: block; width: 100%; height: auto; }
.lh-d-ref { fill: none; stroke: var(--lh-ink); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.lh-d-her { fill: none; stroke: var(--lh-pencil); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.lh-d-thin { stroke-width: 1.5; }
.lh-d-ok { fill: none; stroke: var(--lh-ok); stroke-width: 1.9; stroke-dasharray: 5 4; stroke-linecap: round; }
.lh-d-guide { fill: none; stroke: var(--lh-muted); stroke-width: 1.3; stroke-dasharray: 3 4; stroke-linecap: round; }
.lh-d-arc { fill: none; stroke: var(--lh-arc); stroke-width: 2.2; stroke-linecap: round; }
.lh-d-bad { fill: none; stroke: var(--lh-muted); stroke-width: 1.8; stroke-linecap: round; opacity: .65; }
.lh-d-dot { fill: var(--lh-ink); }
.lh-d-ring { fill: none; stroke: var(--lh-ink); stroke-width: 1.1; opacity: .3; }
.lh-d-txt { fill: var(--lh-muted); font: 700 11px 'Angela Notes', 'Caveat', cursive; letter-spacing: .05em; text-transform: uppercase; }

/* ============================================================
   A FASE (a folha)
   ============================================================ */
.lh-play {
  position: fixed; inset: 0; z-index: 30; display: flex; flex-direction: column;
  background: radial-gradient(100% 60% at 50% 0, var(--cp-slab-lo), transparent 70%), var(--cp-night);
}
.lh-play__hd {
  position: relative; z-index: 2; flex: 0 0 auto; display: flex; align-items: center; gap: 12px;
  padding: 10px 14px calc(10px); padding-top: max(10px, env(safe-area-inset-top, 0px));
  background: linear-gradient(180deg, var(--cp-slab-top), var(--cp-slab));
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .2), 0 3px 0 var(--cp-edge), 0 10px 20px rgba(0, 0, 0, .28);
}
.lh-sair { width: 46px; min-height: 46px; padding: 0; flex: 0 0 auto; }
.lh-sair svg { width: 22px; height: 22px; }
.lh-play__t { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 10px; }
.lh-play__t .cp-cube { width: 38px; height: 42px; font-size: 13px; }
.lh-play__nome { min-width: 0; font: 400 21px/1.1 'Lilita One', 'Poppins', sans-serif; color: var(--cp-text); text-shadow: var(--cp-tx-m); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lh-dots { flex: 0 0 auto; display: flex; align-items: center; gap: 2px; }
.lh-dots i { width: 22px; height: 22px; display: grid; place-items: center; }
.lh-dots i::before {
  content: ''; width: 11px; height: 11px; border-radius: 3px; transform: rotate(45deg);
  background: var(--cp-night); box-shadow: 0 0 0 2px var(--cp-edge), inset 0 2px 0 rgba(0, 0, 0, .5);
  transition: transform .18s ease, background .18s ease;
}
.lh-dots i.agora::before { background: var(--cp-text); transform: rotate(45deg) scale(1.3); box-shadow: 0 0 0 2px var(--cp-edge); }
.lh-dots i.bom::before { background: var(--cp-leaf); box-shadow: 0 0 0 2px var(--cp-edge); }
.lh-dots i.meio::before { background: var(--cp-warn); box-shadow: 0 0 0 2px var(--cp-edge); }
.lh-dots i.baixo::before { background: var(--cp-ruby); box-shadow: 0 0 0 2px var(--cp-edge); }

.lh-missao {
  flex: 0 0 auto; align-self: center; display: flex; align-items: center; gap: 10px;
  max-width: min(640px, calc(100% - 28px)); margin: 18px 14px 0; padding: 8px 14px 9px 8px; border-radius: 14px;
  background: var(--cp-slab-bg); box-shadow: 0 0 0 2.5px var(--cp-edge), 0 4px 0 2.5px var(--cp-edge);
  font: 600 14px/1.4 'Poppins', sans-serif; color: var(--cp-text);
}
.lh-missao__rot {
  flex: 0 0 auto; padding: 4px 9px 5px; border-radius: 8px; font: 400 13px/1 'Lilita One', 'Poppins', sans-serif; color: #fff; text-shadow: var(--cp-tx-s);
  background: linear-gradient(180deg, var(--cp-mat-2) 0 40%, var(--cp-mat-3) 40%); box-shadow: 0 0 0 2px var(--cp-edge);
}
.lh-mesa { flex: 1 1 auto; min-height: 0; display: flex; padding: 22px 16px max(16px, env(safe-area-inset-bottom, 0px)); }
.lh-board {
  position: relative; flex: 1 1 auto; min-height: 0; overflow: hidden; border-radius: 16px; background: var(--cp-sheet);
  box-shadow: inset 0 3px 0 rgba(42, 39, 36, .08), 0 0 0 4px var(--cp-slab-hi), 0 0 0 7px var(--cp-edge), 0 14px 32px rgba(0, 0, 0, .45);
}
#lh-canvas { position: absolute; left: 0; top: 0; display: block; touch-action: none; cursor: crosshair; -webkit-user-select: none; user-select: none; }

.lh-nota {
  position: absolute; z-index: 3; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 8px;
  padding: 5px 12px 5px 5px; border-radius: 13px; white-space: nowrap; pointer-events: none;
  background: var(--cp-slab-bg); color: var(--cp-text);
  box-shadow: 0 0 0 2.5px var(--cp-edge), 0 4px 0 2.5px var(--cp-edge), 0 10px 18px rgba(0, 0, 0, .22);
  animation: lhNota .3s cubic-bezier(.3, 1.5, .5, 1);
}
.lh-nota b {
  min-width: 42px; padding: 5px 7px 6px; border-radius: 9px; text-align: center;
  font: 400 22px/1 'Lilita One', 'Poppins', sans-serif; color: var(--cp-edge); font-variant-numeric: tabular-nums;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .35), 0 0 0 2px var(--cp-edge);
}
.lh-nota span { font: 700 13.5px/1 'Poppins', sans-serif; }
/* os botões das rodadas de vários traços, no pé da folha */
.lh-acoes[hidden] { display: none !important; }
.lh-acoes { position: absolute; left: 50%; bottom: 14px; z-index: 4; transform: translateX(-50%); display: flex; gap: 12px; }
.lh-acoes .cp-btn { min-width: 120px; }
/* as setinhas de velocidade (fases de traço firme): 3 ou mais = rápida */
.lh-vel { display: inline-flex; align-items: center; margin-left: 1px; }
.lh-vel i { position: relative; width: 11px; height: 20px; }
.lh-vel i::before {
  content: ''; position: absolute; left: 0; top: 5.5px; width: 7.5px; height: 7.5px;
  border-top: 3.5px solid rgba(246, 242, 233, .26); border-right: 3.5px solid rgba(246, 242, 233, .26); border-radius: 1px; transform: rotate(45deg);
}
.lh-vel i.on::before { border-color: var(--cp-leaf); }
.lh-vel.lenta i.on::before { border-color: var(--cp-warn); }
.lh-nota.bom b { background: var(--cp-leaf); }
.lh-nota.meio b { background: var(--cp-warn); }
.lh-nota.baixo b { background: var(--cp-ruby); }
@keyframes lhNota { from { transform: translate(-50%, -50%) scale(.6); opacity: 0; } to { transform: translate(-50%, -50%); opacity: 1; } }

/* a balança do fim (mundo 2): pra que lado ela erra, em média */
.lh-balanca {
  position: relative; height: 16px; margin: 6px 4px 0; border-radius: 99px;
  background: linear-gradient(90deg, var(--cp-warn) 0, rgba(255, 154, 60, .25) 38%, var(--cp-leaf) 50%, rgba(255, 154, 60, .25) 62%, var(--cp-warn) 100%);
  box-shadow: inset 0 2px 0 rgba(0, 0, 0, .3), 0 0 0 2px var(--cp-edge);
}
.lh-balanca::after { content: ''; position: absolute; left: 50%; top: -4px; bottom: -4px; width: 2px; margin-left: -1px; background: var(--cp-text); opacity: .5; }
.lh-balanca i {
  position: absolute; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%;
  background: var(--cp-text); box-shadow: 0 0 0 2.5px var(--cp-edge), 0 3px 0 2.5px var(--cp-edge);
}
.lh-balanca__rot { display: flex; justify-content: space-between; font: 700 12px/1.2 'Poppins', sans-serif; color: var(--cp-text-dim); margin: 4px 0 2px; }

/* ============================================================
   NO PAPEL
   ============================================================ */
.lh-papel { width: min(580px, 100%); }
.lh-papel__rot { padding: 5px 10px 6px; border-radius: 8px; font: 400 14px/1 'Lilita One', 'Poppins', sans-serif; color: #fff; text-shadow: var(--cp-tx-s); background: linear-gradient(180deg, var(--cp-mat-2) 0 40%, var(--cp-mat-3) 40%); box-shadow: 0 0 0 2px var(--cp-edge); }
.lh-papel__folha { padding: 8px; margin: 4px 0 12px; }
.lh-papel__folha svg { display: block; width: 100%; height: auto; }
.lh-folha__resp { display: none; }
.lh-papel__folha.com-resposta .lh-folha__resp { display: inline; }
.lh-papel__como { font-size: 13px; line-height: 1.5; color: var(--cp-text-dim); margin-bottom: 14px; }
.lh-papel__acoes { display: flex; flex-wrap: wrap; gap: 12px; }
.lh-papel__acoes .cp-btn--ghost { flex: 1 1 150px; }
.lh-papel__acoes .cp-btn--go { flex: 1 1 100%; }

@media print {
  body { background: #fff !important; }
  body * { visibility: hidden !important; }
  #lh-papel-folha, #lh-papel-folha * { visibility: visible !important; }
  #lh-papel-folha { position: fixed; left: 0; top: 0; width: 100%; margin: 0; padding: 0; background: #fff; box-shadow: none; }
}

/* ============================================================
   O NINJA E O TREINO LIVRE na lousa
   ============================================================ */
.la-game { background: var(--cp-night); }
/* o contador do selo ninja, no canto do jogo */
.la-meta[hidden] { display: none !important; }
.la-meta {
  position: absolute; top: 12px; right: 16px; z-index: 31; display: flex; align-items: center; gap: 6px;
  font: 400 28px/1 'Lilita One', 'Poppins', sans-serif; color: #fff; text-shadow: 0 2px 0 rgba(0, 0, 0, .45);
}
.la-meta svg { width: 26px; height: 26px; color: var(--cp-text); filter: drop-shadow(0 2px 0 rgba(0, 0, 0, .45)); }
.la-meta span { font-size: 20px; opacity: .8; }
.la-meta.is-ok, .la-meta.is-ok svg { color: var(--cp-gold-2); }
.la-result { background: color-mix(in srgb, var(--cp-edge) 82%, transparent); }
.la-result-card {
  border: 0; border-radius: 24px; padding: 26px 22px 22px;
  background: var(--cp-slab-bg); box-shadow: var(--cp-slab-shadow);
}
.la-result-title { font: 400 44px/1 'Lilita One', 'Poppins', sans-serif; color: var(--cp-text); text-shadow: var(--cp-tx-l); margin-bottom: 18px; }
.la-metrics { padding: 12px 14px; border-radius: 16px; background: var(--cp-night); box-shadow: var(--cp-well-shadow); }
.la-metric-lbl { color: var(--cp-text); }
.la-metric-stars .on { color: var(--cp-gold-2); }
.la-metric-stars .off { color: var(--cp-slab-lo); }
.la-metric-num { font-family: 'Lilita One', 'Poppins', sans-serif; color: var(--cp-text); }
.la-result-sub { color: var(--cp-text-dim); }
.la-result-prompt { color: var(--cp-text); }
.la-result-actions { gap: 14px; }
.la-result-actions .cp-btn--go { min-width: 250px; }
.la-result-actions .cp-btn:not(.cp-btn--go) { min-width: 250px; }
.la-link { color: var(--cp-text-dim); }
.la-link:hover { color: var(--cp-text); }

/* ============================================================
   O ROSA DA CASA no Line (pedido do Lucas: "tá faltando rosa"),
   do mesmo jeito do Box: moldura, faixa e volume em rosa-escuro, e
   o giz rosa no título. O rosa vivo segue só na próxima ação.
   ============================================================ */
.lh-title { text-shadow: var(--cp-tx-rosa); }
.lh-reta__traco { stroke: #FF8DB5; }
.lh-play__hd { box-shadow: inset 0 -4px 0 var(--cp-pink-3), 0 3px 0 var(--cp-edge), 0 10px 20px rgba(0, 0, 0, .28); }
.lh-play__nome { text-shadow: var(--cp-tx-rosa-m); }
.lh-dots i.agora::before {
  background: linear-gradient(135deg, var(--cp-pink-1) 0 32%, var(--cp-pink-2) 32% 66%, var(--cp-pink-3) 66%);
  box-shadow: 0 0 0 2px var(--cp-edge), 0 0 12px var(--cp-pink-glow);
}
.lh-missao__rot, .lh-papel__rot { background: linear-gradient(180deg, var(--cp-marca-1) 0 40%, var(--cp-marca-2) 40%); }
.lh-board {
  box-shadow: inset 0 3px 0 rgba(42, 39, 36, .08), 0 0 0 3px var(--cp-edge), 0 0 0 8px var(--cp-marca-2), 0 0 0 10.5px var(--cp-edge),
              0 14px 32px rgba(0, 0, 0, .45);
}
.la-result-title { text-shadow: var(--cp-tx-rosa); }

@media (max-width: 900px) {
  .lh-home__grid.tem-historia { grid-template-columns: minmax(0, 560px); }
}
@media (max-width: 560px) {
  .la-home { padding: 68px 14px 32px; }
  .lh-hero { margin-bottom: 22px; }
  .lh-story { padding: 36px 14px 16px; }
  .lh-story__corpo { grid-template-columns: 76px minmax(0, 1fr); gap: 12px; }
  .lh-story .cp-escudo { width: 68px; height: 68px; }
  .lh-story .cp-escudo svg { width: 46px; height: 46px; }
  .lh-home__grid .lh-livres__lista { grid-template-columns: 1fr 1fr; gap: 12px; }
  .lh-modo { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 12px; align-content: start; }
  .lh-modo__ic { width: 46px; height: 46px; border-radius: 13px; }
  .lh-modo__ic svg { width: 30px; height: 30px; }
  .lh-modo__nome { font-size: 18px; }
  .lh-modo__desc { font-size: 12.5px; }
  .lh-play__hd { gap: 8px; padding-left: 10px; padding-right: 10px; }
  .lh-sair { width: 42px; min-height: 42px; }
  .lh-play__t .cp-cube { display: none; }
  .lh-play__nome { font-size: 17px; }
  .lh-dots i { width: 16px; height: 16px; }
  .lh-dots i::before { width: 8px; height: 8px; border-radius: 2px; }
  .lh-missao { font-size: 13px; margin-top: 14px; }
  .lh-mesa { padding: 18px 12px max(12px, env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
  .lh-reta__traco { animation: none; stroke-dashoffset: 0; }
  .lh-nota { animation: none; }
  .lh-modo { transition: none; }
}
