@import 'tailwindcss'; @import 'tw-animate-css'; @source '../views'; @source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php'; @custom-variant dark (&:is(.dark *)); /* Institutional shell adapted from Tempo; page content keeps its own theme. */ .tempo-header { position: relative; z-index: 40; background: #090909; color: #fff; } .tempo-header-inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; grid-template-rows: 72px; column-gap: 0.5rem; align-items: center; max-width: 1440px; margin-inline: auto; padding-inline: 0.75rem; } .tempo-logo-link { grid-area: 1 / 1; display: inline-flex; width: fit-content; align-items: center; flex-shrink: 0; border-radius: 0.25rem; } .tempo-header-logo { width: auto; height: 36px; object-fit: contain; } .tempo-primary-navigation { display: none; grid-area: 2 / 1 / auto / -1; min-width: 0; border-top: 1px solid #ffffff1a; } .tempo-primary-navigation > ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.25rem 0.5rem; padding-block: 0.75rem; } .tempo-primary-navigation .tempo-nav-trigger { font-size: 0.9375rem; padding-inline: 0.5rem; } .tempo-nav-trigger { display: flex; width: 100%; min-height: 44px; align-items: center; justify-content: space-between; gap: 0.4rem; padding: 0.5rem 0.75rem; border-radius: 0.4rem; font-size: 1rem; line-height: 1.5; font-weight: 600; white-space: nowrap; color: #eee; transition: color 0.2s, background 0.2s; } .tempo-nav-trigger:hover, .tempo-nav-trigger[data-state='open'] { background: #ffffff0d; color: #fff; } .tempo-nav-trigger[data-current-group] { color: #fff; box-shadow: inset 0 -2px #ed1c24; } .tempo-nav-trigger[data-state='open'] > svg { transform: rotate(180deg); } .tempo-primary-navigation .tempo-nav-trigger > svg { transform: none; flex-shrink: 0; } .tempo-section-bar { border-top: 1px solid #ffffff14; background: inherit; } .tempo-section-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0.25rem 0.75rem; max-width: 1440px; margin-inline: auto; padding: 0 0.75rem 0.5rem; } .tempo-section-navigation { grid-area: 1 / 1 / auto / -1; min-width: 0; } .tempo-section-navigation > ul { display: flex; justify-content: center; gap: 0.25rem; } .tempo-section-navigation .tempo-nav-trigger { justify-content: center; min-height: 44px; gap: 0.25rem; padding: 0.5rem 0.375rem; border-radius: 0; font-size: 0.8125rem; letter-spacing: normal; } @media (min-width: 640px) { .tempo-section-navigation .tempo-nav-trigger { min-height: 48px; gap: 0.5rem; padding-inline: 0.75rem; font-size: 1rem; } } @media (min-width: 768px) { .tempo-section-inner { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); padding: 0.25rem 1.25rem; } .tempo-section-navigation { grid-area: 1 / 2; } .tempo-section-inner .tempo-panel-summary { grid-area: 1 / 1; } .tempo-section-inner .tempo-interest-button { grid-area: 1 / 3; } } .tempo-header-extras { display: none; grid-area: 3 / 1 / auto / -1; flex-direction: column; gap: 0.75rem; min-width: 0; padding-block: 0.75rem; border-top: 1px solid #ffffff1a; } .tempo-header[data-expanded] .tempo-primary-navigation { display: block; } .tempo-header[data-expanded] .tempo-header-extras { display: flex; } .tempo-header-utilities { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; } .tempo-utility-button { display: flex; min-height: 40px; align-items: center; gap: 0.4rem; padding: 0.4rem; border-radius: 0.5rem; font-size: 0.8125rem; color: #e2e8f0; } .tempo-utility-button:hover { background: #ffffff10; } .tempo-header-social { display: flex; width: 30px; height: 40px; align-items: center; justify-content: center; color: var(--social-color); transition: transform 0.2s, opacity 0.2s; border-radius: 0.4rem; } .tempo-header-social:hover { transform: translateY(-2px); opacity: 0.8; } .tempo-login-button { display: inline-flex; min-height: 40px; align-items: center; gap: 0.5rem; border: 1px solid #ffffff50; border-radius: 0.4rem; padding: 0.5rem 0.75rem; font-size: 0.875rem; font-weight: 600; white-space: nowrap; color: #fff; transition: background 0.2s, border-color 0.2s; } .tempo-login-button:hover { background: #ed1c24; border-color: #ed1c24; } .tempo-login-button > span { max-width: clamp(2rem, calc(100vw - 18rem), 6rem); } .tempo-header-actions { grid-area: 1 / 2; display: flex; min-width: 0; align-items: center; } .tempo-interest-button { display: inline-flex; grid-area: 2 / 2; justify-self: end; align-items: center; justify-content: center; min-height: 40px; padding: 0.5rem 0.65rem; border: 1px solid #ed1c24; border-radius: 0.4rem; background: #ed1c24; color: white; font-size: 0.75rem; font-weight: 600; white-space: nowrap; transition: background 0.2s; } .tempo-interest-button:hover { background: #c9151c; } .tempo-panel-summary { grid-area: 2 / 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 0.1rem; min-height: 44px; font-size: 0.8125rem; line-height: 1.4; color: #fff; text-underline-offset: 3px; } .tempo-panel-summary:hover { text-decoration: underline; } .tempo-panel-count { color: #cbd5e1; font-size: 0.6875rem; } .tempo-header-toggle { grid-area: 1 / 3; display: inline-flex; width: 44px; height: 44px; flex-shrink: 0; align-items: center; justify-content: center; border: 1px solid #ffffff33; border-radius: 0.4rem; color: #fff; cursor: pointer; } .tempo-header-toggle:hover, .tempo-header-toggle[aria-expanded='true'] { background: #ffffff10; } @media (min-width: 640px) { .tempo-header-inner { padding-inline: 1.25rem; } .tempo-header-logo { height: 44px; } .tempo-primary-navigation > ul { display: flex; justify-content: space-between; } } @media (min-width: 1024px) { .tempo-header-inner { grid-template-rows: 88px; padding-inline: 1.5rem; } .tempo-header-logo { height: 56px; } } @media (min-width: 1280px) { .tempo-header-inner { display: flex; min-height: 88px; gap: 0.75rem; padding-inline: 2rem; } .tempo-header-logo { height: 64px; } .tempo-primary-navigation { display: block; flex: 1; border: 0; } .tempo-primary-navigation > ul { justify-content: center; gap: 0.25rem; padding: 0; } .tempo-nav-trigger { justify-content: center; padding-inline: 0.875rem; font-size: 1.125rem; letter-spacing: 0.025em; } .tempo-primary-navigation .tempo-nav-trigger { padding-inline: 0.625rem; font-size: 1.125rem; } .tempo-header-extras { display: flex; flex-shrink: 0; padding: 0 0.75rem; border-top: 0; border-inline: 1px solid #ffffff1a; } .tempo-header-utilities { flex-wrap: nowrap; gap: 0.5rem; } .tempo-header-social { width: 26px; } .tempo-header-toggle { display: none; } .tempo-section-inner { padding-inline: 2rem; } .tempo-section-navigation .tempo-nav-trigger { padding-inline: 1.25rem; } .tempo-interest-button { padding-inline: 0.85rem; font-size: 0.8125rem; } } .tempo-header :is(a, button):focus-visible { outline: 2px solid #fff; outline-offset: 4px; } .tempo-dropdown { z-index: 60; border: 1px solid #e2e8f0; border-radius: 0.8rem; background: #fff; color: #0f172a; box-shadow: 0 18px 50px #00000026; transform-origin: var(--radix-dropdown-menu-content-transform-origin); animation-duration: 160ms; } .tempo-menu-item { min-height: 42px; gap: 0.5rem; border-radius: 0.4rem; padding: 0.6rem 0.7rem; font-size: 0.8125rem; white-space: normal; line-height: 1.5; } .tempo-menu-item[data-highlighted], .tempo-menu-item:focus, .tempo-menu-item[aria-current='page'] { background: #fef2f2; color: #b91c1c; outline: none; } .tempo-footer { margin-top: 2rem; background: #050505; color: #fff; } .tempo-footer-heading { font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; } .tempo-footer-link { display: inline-flex; align-items: baseline; gap: 0.35rem; font-size: 0.875rem; line-height: 1.25rem; color: #e2e8f0; transition: color 0.2s, transform 0.2s; } .tempo-footer-link > svg { align-self: center; color: #ed1c24; flex-shrink: 0; } .tempo-footer-link:hover { color: #fb7185; transform: translateX(3px); } .tempo-contact-link { display: flex; align-items: center; gap: 1rem; transition: color 0.2s; } .tempo-contact-link:hover { color: #fb7185; } .tempo-contact-icon { display: flex; width: 40px; height: 40px; flex-shrink: 0; align-items: center; justify-content: center; border: 1px solid #ffffff12; border-radius: 0.65rem; background: #ffffff08; } .tempo-footer-social { display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid #ffffff15; border-radius: 0.65rem; color: #fff; transition: color 0.2s, border-color 0.2s, transform 0.2s; } .tempo-footer [aria-label='Redes sociais da Revista Tempo'] { gap: 0.75rem; } .tempo-footer-social > svg { width: 20px; height: 20px; flex-shrink: 0; } .tempo-footer-social:hover { color: var(--social-color); border-color: var(--social-color); transform: translateY(-3px); } .tempo-footer :is(a, button):focus-visible { outline: 2px solid #fb7185; outline-offset: 4px; } .tempo-source-page { overflow-x: hidden; } .tempo-about-page { --primary: #1f1f1f; --color-primary: #1f1f1f; } @media (prefers-reduced-motion: reduce) { .tempo-header *, .tempo-footer *, .tempo-dropdown { animation-duration: 0ms !important; transition-duration: 0ms !important; } } @theme { --font-sans: 'Instrument Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; --radius-lg: var(--radius); --radius-md: calc(var(--radius) - 2px); --radius-sm: calc(var(--radius) - 4px); --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --color-chart-1: var(--chart-1); --color-chart-2: var(--chart-2); --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); } :root { --background: oklch(1 0 0); --foreground: oklch(0.145 0 0); --card: oklch(1 0 0); --card-foreground: oklch(0.145 0 0); --popover: oklch(1 0 0); --popover-foreground: oklch(0.145 0 0); --primary: oklch(0.205 0 0); --primary-foreground: oklch(0.985 0 0); --secondary: oklch(0.97 0 0); --secondary-foreground: oklch(0.205 0 0); --muted: oklch(0.97 0 0); --muted-foreground: oklch(0.556 0 0); --accent: oklch(0.97 0 0); --accent-foreground: oklch(0.205 0 0); --destructive: oklch(0.577 0.245 27.325); --destructive-foreground: oklch(0.577 0.245 27.325); --border: oklch(0.922 0 0); --input: oklch(0.922 0 0); --ring: oklch(0.87 0 0); --chart-1: oklch(0.646 0.222 41.116); --chart-2: oklch(0.6 0.118 184.704); --chart-3: oklch(0.398 0.07 227.392); --chart-4: oklch(0.828 0.189 84.429); --chart-5: oklch(0.769 0.188 70.08); --radius: 0.625rem; --sidebar: oklch(0.985 0 0); --sidebar-foreground: oklch(0.145 0 0); --sidebar-primary: oklch(0.205 0 0); --sidebar-primary-foreground: oklch(0.985 0 0); --sidebar-accent: oklch(0.97 0 0); --sidebar-accent-foreground: oklch(0.205 0 0); --sidebar-border: oklch(0.922 0 0); --sidebar-ring: oklch(0.87 0 0); } .dark { --background: oklch(0.145 0 0); --foreground: oklch(0.985 0 0); --card: oklch(0.145 0 0); --card-foreground: oklch(0.985 0 0); --popover: oklch(0.145 0 0); --popover-foreground: oklch(0.985 0 0); --primary: oklch(0.985 0 0); --primary-foreground: oklch(0.205 0 0); --secondary: oklch(0.269 0 0); --secondary-foreground: oklch(0.985 0 0); --muted: oklch(0.269 0 0); --muted-foreground: oklch(0.708 0 0); --accent: oklch(0.269 0 0); --accent-foreground: oklch(0.985 0 0); --destructive: oklch(0.396 0.141 25.723); --destructive-foreground: oklch(0.637 0.237 25.331); --border: oklch(0.269 0 0); --input: oklch(0.269 0 0); --ring: oklch(0.439 0 0); --chart-1: oklch(0.488 0.243 264.376); --chart-2: oklch(0.696 0.17 162.48); --chart-3: oklch(0.769 0.188 70.08); --chart-4: oklch(0.627 0.265 303.9); --chart-5: oklch(0.645 0.246 16.439); --sidebar: oklch(0.205 0 0); --sidebar-foreground: oklch(0.985 0 0); --sidebar-primary: oklch(0.985 0 0); --sidebar-primary-foreground: oklch(0.985 0 0); --sidebar-accent: oklch(0.269 0 0); --sidebar-accent-foreground: oklch(0.985 0 0); --sidebar-border: oklch(0.269 0 0); --sidebar-ring: oklch(0.439 0 0); } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground; } }