:root{color-scheme:dark;--bg:oklch(16% .028 250);--surface:oklch(21% .03 250);--surface-2:oklch(26% .03 250);--primary:oklch(78% .16 70);--primary-dim:oklch(62% .13 70);--done:oklch(72% .12 175);--ink:oklch(95% .01 250);--ink-muted:oklch(90% .015 250);--alert:oklch(62% .18 25);--line:oklch(34% .025 250);--font-display:"Bricolage Grotesque", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4.5rem;--r-sm:6px;--r-md:12px;--r-lg:14px;--z-pin:50;--z-dock:100;--z-overlay-backdrop:200;--z-overlay:210;--z-toast:300;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.14s;--dur-base:.26s;--dur-slow:.52s}@media (prefers-reduced-motion:reduce){:root{--dur-fast:1ms;--dur-base:1ms;--dur-slow:1ms}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0;font-size:15px;line-height:1.55;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-weight:800}h1{font-size:clamp(2rem,5vw,5rem)}h2{font-size:clamp(1.4rem,3vw,2.4rem)}p{text-wrap:pretty;max-width:68ch}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--r-sm)}.app{grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}.cabecalho{padding:var(--s-5) var(--s-6) var(--s-3);align-items:baseline;gap:var(--s-4);flex-wrap:wrap;display:flex}.cabecalho .ciclo{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-muted);font-size:.85rem}.trilha{align-items:center;gap:var(--s-5);scroll-snap-type:x mandatory;padding:var(--s-5) var(--s-6) var(--s-7);scrollbar-width:thin;scrollbar-color:var(--line) transparent;display:flex;overflow:auto hidden}.carta{scroll-snap-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);min-height:300px;padding:var(--s-5);gap:var(--s-3);cursor:pointer;text-align:left;color:inherit;font:inherit;transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out);flex-direction:column;flex:0 0 clamp(260px,88vw,340px);display:flex}@media (width>=768px){.carta{flex-basis:320px}}.carta:hover,.carta:focus-visible{border-color:var(--primary-dim);background:var(--surface-2);transform:translateY(-4px)rotate(-.4deg)}.carta[data-hoje=true]{border-color:var(--primary)}.carta[data-selada=true]{border-color:var(--done)}.carta[data-futura=true]{opacity:.55}.carta .rotulo{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-muted);text-transform:uppercase;font-size:.72rem}.carta .titulo{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.6rem;font-weight:800;line-height:1.1}.barra{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.barra>i{background:var(--primary);transform-origin:0;height:100%;transition:width var(--dur-slow) var(--ease-out);display:block}.barra[data-tom=done]>i{background:var(--done)}.dock{z-index:var(--z-dock);background:var(--surface);border-top:1px solid var(--line);padding:var(--s-3) var(--s-5);min-width:0;position:sticky;bottom:0}.overlay{background:var(--bg);width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;color:var(--ink);border:none;margin:0;padding:0}.overlay::backdrop{backdrop-filter:blur(6px);background:oklch(10% .02 250/.82)}@media (prefers-reduced-motion:reduce){.carta:hover,.carta:focus-visible{transform:none}}.carta .brasao{color:var(--ink-muted);align-self:flex-start;display:inline-flex}.carta .brasao svg{display:block}.carta .nivel{color:var(--ink);letter-spacing:.02em;font-size:.85rem;font-weight:600}.carta .tema,.carta .foco{color:var(--ink-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.88rem;line-height:1.4;display:-webkit-box;overflow:hidden}.carta .placar{color:var(--ink-muted)}.carta .seq{color:var(--primary)}.carta .selo{border:1px solid var(--done);color:var(--done);letter-spacing:.06em;padding:var(--s-1) var(--s-3);border-radius:999px;align-self:flex-start;font-size:.68rem}.dock-linha{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.dock-resumo{justify-content:space-between;align-items:baseline;gap:var(--s-4);display:flex}.dock-controles{align-items:center;gap:var(--s-2);scrollbar-width:thin;scrollbar-color:var(--line) transparent;min-width:0;padding-bottom:var(--s-1);margin-bottom:calc(var(--s-1) * -1);display:flex;overflow:auto hidden}@media (width>=640px){.dock-controles{flex-wrap:wrap;overflow-x:visible}}.dock .acoes{gap:var(--s-2);flex:none;display:flex}@media (width>=640px){.dock .acoes{display:contents}}.dock .acao{align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-out);flex:none;font-size:.85rem;display:flex}.dock .acao:has(input:checked){border-color:var(--done)}.dock .acao:hover{border-color:var(--primary-dim)}.dock input[type=checkbox]{width:20px;height:20px;accent-color:var(--done);cursor:pointer;flex:none}.dock .placar{color:var(--primary);font-size:1.3rem;font-weight:600}.dock .seq{color:var(--primary);font-weight:600}.dock .prospects{align-items:center;gap:var(--s-2);padding-left:var(--s-4);border-left:1px solid var(--line);flex:none;display:flex}.dock .prospects button{background:var(--surface-2);min-width:44px;min-height:44px;color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out);flex:none;font-size:1.1rem}.dock .prospects button:hover{border-color:var(--primary-dim)}.dock .prospects .prospect-valor{text-align:center;min-width:3ch;color:var(--ink)}.dock .acao-newsletter{padding-left:var(--s-4);border-left:1px solid var(--line)}.overlay[open]{grid-template-rows:auto 1fr auto;display:grid}.overlay-topo{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line);display:flex}.overlay-titulo{min-width:0;font-size:clamp(1.2rem,3vw,2rem)}.overlay-acoes{gap:var(--s-3);flex:none;display:flex}.overlay .fechar,.overlay .recentralizar{min-height:44px;padding:0 var(--s-4);background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);font:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out)}.overlay .fechar:hover,.overlay .recentralizar:hover{border-color:var(--primary-dim)}.overlay canvas.grafo{touch-action:none;width:100%;height:100%;display:block}.overlay-dica{padding:var(--s-3) var(--s-5);color:var(--ink-muted);border-top:1px solid var(--line);font-size:.78rem}.painel{padding:var(--s-5);gap:var(--s-4);flex-direction:column;width:100%;max-width:68ch;margin-inline:auto;display:flex;overflow-y:auto}.painel-intro{color:var(--ink-muted);margin:0}.painel h3{margin-top:var(--s-3);font-size:1.1rem}.painel-rodape{padding:var(--s-4) var(--s-5);border-top:1px solid var(--line);width:100%;max-width:68ch;margin-inline:auto}.degraus{gap:var(--s-3);flex-wrap:wrap;display:flex}.degraus button,.etapas button,.salvar-review,.abrir-review{min-height:44px;padding:0 var(--s-4);background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);font:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out)}.degraus button:hover:not(:disabled),.etapas button:hover:not(:disabled),.salvar-review:hover,.abrir-review:hover{border-color:var(--primary-dim)}.degraus button.ativo{border-color:var(--primary);color:var(--primary)}.etapas button[disabled]{opacity:.4;cursor:not-allowed}.etapas button[aria-pressed=true]{border-color:var(--done);color:var(--done)}.numeros{gap:var(--s-2);flex-direction:column;margin:0;display:flex}.numeros>div{justify-content:space-between;gap:var(--s-4);display:flex}.numeros dt,.numeros dd{margin:0}.numeros dt{color:var(--ink-muted)}.numeros .destaque{border-top:1px solid var(--line);padding-top:var(--s-2);font-size:1.2rem}.numeros .destaque dd{color:var(--primary);font-weight:600}.recompensas{padding-left:var(--s-5);color:var(--ink-muted);margin:0}.recompensas li{margin-bottom:var(--s-1)}.etapas{gap:var(--s-3);flex-direction:column;padding:0;list-style:none;display:flex}.etapas li{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.etapas .km{min-width:5ch;font-size:1.2rem}.etapas .rotulo-etapa{color:var(--ink-muted);min-width:8ch}.grade-numeros{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.grade-numeros label,.pergunta{gap:var(--s-2);flex-direction:column;display:flex}.painel input[type=number],.painel textarea{background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);font:inherit;min-height:44px}.painel textarea{font-family:var(--font-body);resize:vertical}.painel .acao{align-items:center;gap:var(--s-3);cursor:pointer;min-height:44px;display:flex}.painel .acao input[type=checkbox]{width:22px;height:22px;accent-color:var(--done);cursor:pointer;flex:none}.sync-status{color:var(--ink-muted);margin-left:auto;font-size:.78rem}.sync-status[data-estado=offline],.sync-status[data-estado=sem-sessao],.sync-status[data-estado=erro]{color:var(--alert)}.sync-status[data-estado=sincronizado]{color:var(--done)}.pin{z-index:var(--z-pin);background:var(--bg);place-content:center;gap:var(--s-3);padding:var(--s-6);display:grid;position:fixed;inset:0}.pin input{background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s-3);letter-spacing:.4em;text-align:center;min-height:44px;font-size:1.4rem}.pin button,.dock .exportar{background:var(--surface-2);min-height:44px;color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:0 var(--s-4);font:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out)}.pin button:hover,.dock .exportar:hover{border-color:var(--primary-dim)}.dock .exportar{padding-left:var(--s-4);padding-right:var(--s-4);margin-left:var(--s-2);border-left:1px solid var(--line);border-radius:0 var(--r-sm) var(--r-sm) 0;flex:none}.pin-erro{color:var(--alert);text-align:center;max-width:32ch;margin:0}
