Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

469 linhas
8.3KB

  1. :root {
  2. --page-background: #f4efe7;
  3. --surface: rgba(255, 252, 247, 0.88);
  4. --surface-strong: #fffdf8;
  5. --surface-border: rgba(26, 72, 64, 0.12);
  6. --text-primary: #143631;
  7. --text-secondary: #4f655f;
  8. --accent: #1d7a6d;
  9. --accent-strong: #135c52;
  10. --accent-soft: #daf1ec;
  11. --highlight: #ef7c4d;
  12. --shadow-soft: 0 18px 50px rgba(20, 54, 49, 0.1);
  13. --shadow-card: 0 20px 40px rgba(20, 54, 49, 0.08);
  14. }
  15. * {
  16. box-sizing: border-box;
  17. }
  18. html {
  19. scroll-behavior: smooth;
  20. }
  21. body {
  22. margin: 0;
  23. min-height: 100vh;
  24. font-family: "Trebuchet MS", "Lucida Sans Unicode", "Lucida Grande", sans-serif;
  25. color: var(--text-primary);
  26. background:
  27. radial-gradient(circle at top left, rgba(239, 124, 77, 0.18), transparent 28%),
  28. radial-gradient(circle at top right, rgba(29, 122, 109, 0.18), transparent 32%),
  29. linear-gradient(180deg, #f8f2e8 0%, var(--page-background) 48%, #efe6da 100%);
  30. }
  31. a {
  32. color: inherit;
  33. }
  34. code {
  35. font-family: Consolas, "Courier New", monospace;
  36. }
  37. .page-shell {
  38. min-height: 100vh;
  39. display: flex;
  40. flex-direction: column;
  41. }
  42. .container {
  43. width: min(1120px, calc(100% - 2rem));
  44. margin: 0 auto;
  45. }
  46. .site-header {
  47. position: sticky;
  48. top: 0;
  49. z-index: 20;
  50. backdrop-filter: blur(14px);
  51. background: rgba(248, 242, 232, 0.78);
  52. border-bottom: 1px solid rgba(20, 54, 49, 0.08);
  53. }
  54. .header-inner {
  55. display: flex;
  56. align-items: center;
  57. justify-content: space-between;
  58. gap: 1rem;
  59. padding: 1rem 0;
  60. }
  61. .brand {
  62. display: inline-flex;
  63. align-items: center;
  64. gap: 0.85rem;
  65. text-decoration: none;
  66. }
  67. .brand-mark {
  68. display: inline-flex;
  69. align-items: center;
  70. justify-content: center;
  71. width: 2.75rem;
  72. height: 2.75rem;
  73. border-radius: 0.95rem;
  74. background: linear-gradient(135deg, var(--accent), var(--highlight));
  75. color: #fff;
  76. font-weight: 700;
  77. letter-spacing: 0.08em;
  78. box-shadow: var(--shadow-soft);
  79. }
  80. .brand-copy {
  81. display: flex;
  82. flex-direction: column;
  83. line-height: 1.1;
  84. }
  85. .brand-copy strong {
  86. font-size: 1rem;
  87. }
  88. .brand-copy small {
  89. color: var(--text-secondary);
  90. font-size: 0.75rem;
  91. text-transform: uppercase;
  92. letter-spacing: 0.14em;
  93. }
  94. .site-nav {
  95. display: flex;
  96. align-items: center;
  97. gap: 0.6rem;
  98. flex-wrap: wrap;
  99. }
  100. .nav-link {
  101. text-decoration: none;
  102. color: var(--text-secondary);
  103. font-weight: 600;
  104. padding: 0.7rem 1rem;
  105. border-radius: 999px;
  106. transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
  107. }
  108. .nav-link:hover,
  109. .nav-link:focus-visible,
  110. .nav-link.is-active {
  111. color: var(--accent-strong);
  112. background: rgba(29, 122, 109, 0.12);
  113. transform: translateY(-1px);
  114. }
  115. .page-content {
  116. flex: 1;
  117. padding: 3.5rem 0 4rem;
  118. }
  119. .content-stack {
  120. display: grid;
  121. gap: 1.5rem;
  122. }
  123. .section-heading {
  124. max-width: 46rem;
  125. }
  126. .section-heading h1 {
  127. margin: 0.3rem 0 0.8rem;
  128. font-size: clamp(2.4rem, 5vw, 4rem);
  129. line-height: 1;
  130. letter-spacing: -0.04em;
  131. }
  132. .section-heading p {
  133. margin: 0;
  134. color: var(--text-secondary);
  135. line-height: 1.8;
  136. font-size: 1.05rem;
  137. }
  138. .hero {
  139. display: grid;
  140. grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.9fr);
  141. gap: 1.5rem;
  142. align-items: stretch;
  143. }
  144. .hero-copy,
  145. .hero-panel,
  146. .feature-card,
  147. .section-panel,
  148. .alert,
  149. .empty-state {
  150. background: var(--surface);
  151. border: 1px solid var(--surface-border);
  152. box-shadow: var(--shadow-card);
  153. }
  154. .hero-copy {
  155. padding: 3rem;
  156. border-radius: 2rem;
  157. }
  158. .eyebrow {
  159. display: inline-block;
  160. margin-bottom: 1rem;
  161. padding: 0.4rem 0.75rem;
  162. border-radius: 999px;
  163. background: var(--accent-soft);
  164. color: var(--accent-strong);
  165. font-size: 0.78rem;
  166. font-weight: 700;
  167. text-transform: uppercase;
  168. letter-spacing: 0.14em;
  169. }
  170. .hero h1 {
  171. margin: 0;
  172. font-size: clamp(2.8rem, 6vw, 4.8rem);
  173. line-height: 0.98;
  174. letter-spacing: -0.04em;
  175. }
  176. .hero-text {
  177. max-width: 44rem;
  178. margin: 1.25rem 0 0;
  179. font-size: 1.12rem;
  180. line-height: 1.8;
  181. color: var(--text-secondary);
  182. }
  183. .hero-actions {
  184. display: flex;
  185. flex-wrap: wrap;
  186. gap: 0.85rem;
  187. margin-top: 2rem;
  188. }
  189. .button {
  190. display: inline-flex;
  191. align-items: center;
  192. justify-content: center;
  193. padding: 0.9rem 1.35rem;
  194. border-radius: 999px;
  195. text-decoration: none;
  196. font-weight: 700;
  197. }
  198. .button-primary {
  199. background: linear-gradient(135deg, var(--accent), var(--accent-strong));
  200. color: #fff;
  201. box-shadow: 0 18px 30px rgba(19, 92, 82, 0.25);
  202. }
  203. .button-secondary {
  204. background: rgba(29, 122, 109, 0.08);
  205. color: var(--accent-strong);
  206. }
  207. .hero-panel {
  208. display: flex;
  209. flex-direction: column;
  210. justify-content: space-between;
  211. padding: 2rem;
  212. border-radius: 1.8rem;
  213. }
  214. .panel-label {
  215. margin: 0 0 1rem;
  216. font-size: 0.78rem;
  217. font-weight: 700;
  218. letter-spacing: 0.16em;
  219. text-transform: uppercase;
  220. color: var(--text-secondary);
  221. }
  222. .hero-panel code {
  223. display: block;
  224. padding: 1rem 1.1rem;
  225. border-radius: 1.2rem;
  226. background: #173d37;
  227. color: #eefbf6;
  228. line-height: 1.7;
  229. white-space: normal;
  230. }
  231. .route-callout {
  232. margin-top: 1.5rem;
  233. padding: 1rem 1.1rem;
  234. border-radius: 1.2rem;
  235. background: var(--surface-strong);
  236. }
  237. .route-callout span {
  238. display: block;
  239. margin-bottom: 0.45rem;
  240. color: var(--text-secondary);
  241. font-size: 0.92rem;
  242. }
  243. .route-callout a {
  244. color: var(--highlight);
  245. font-weight: 700;
  246. text-decoration: none;
  247. }
  248. .feature-grid {
  249. display: grid;
  250. grid-template-columns: repeat(3, minmax(0, 1fr));
  251. gap: 1.25rem;
  252. margin-top: 1.5rem;
  253. }
  254. .feature-card {
  255. padding: 1.75rem;
  256. border-radius: 1.6rem;
  257. }
  258. .feature-card h2 {
  259. margin-top: 0;
  260. margin-bottom: 0.8rem;
  261. font-size: 1.25rem;
  262. }
  263. .feature-card p {
  264. margin: 0;
  265. color: var(--text-secondary);
  266. line-height: 1.7;
  267. }
  268. .section-panel {
  269. padding: 1.75rem;
  270. border-radius: 1.8rem;
  271. }
  272. .panel-header {
  273. margin-bottom: 1.5rem;
  274. }
  275. .panel-header h2 {
  276. margin: 0 0 0.45rem;
  277. font-size: 1.45rem;
  278. }
  279. .panel-header p {
  280. margin: 0;
  281. color: var(--text-secondary);
  282. line-height: 1.7;
  283. }
  284. .form-grid {
  285. display: grid;
  286. grid-template-columns: repeat(2, minmax(0, 1fr));
  287. gap: 1rem;
  288. }
  289. .field {
  290. display: grid;
  291. gap: 0.45rem;
  292. font-weight: 600;
  293. }
  294. .field span {
  295. font-size: 0.96rem;
  296. }
  297. .input {
  298. width: 100%;
  299. padding: 0.95rem 1rem;
  300. border: 1px solid rgba(20, 54, 49, 0.16);
  301. border-radius: 1rem;
  302. background: rgba(255, 255, 255, 0.92);
  303. color: var(--text-primary);
  304. font: inherit;
  305. }
  306. .input:focus {
  307. outline: 2px solid rgba(29, 122, 109, 0.22);
  308. border-color: rgba(29, 122, 109, 0.45);
  309. }
  310. .field-error {
  311. color: #a43d1f;
  312. font-size: 0.88rem;
  313. font-weight: 600;
  314. }
  315. .form-actions {
  316. display: flex;
  317. justify-content: flex-start;
  318. align-items: center;
  319. gap: 0.85rem;
  320. }
  321. .button {
  322. border: 0;
  323. cursor: pointer;
  324. }
  325. .alert,
  326. .empty-state {
  327. padding: 1rem 1.15rem;
  328. border-radius: 1.2rem;
  329. }
  330. .alert-success {
  331. background: rgba(218, 241, 236, 0.92);
  332. color: var(--accent-strong);
  333. }
  334. .alert-error {
  335. background: rgba(239, 124, 77, 0.14);
  336. color: #8f3518;
  337. }
  338. .empty-state p {
  339. margin: 0;
  340. color: var(--text-secondary);
  341. line-height: 1.7;
  342. }
  343. .empty-state p + p {
  344. margin-top: 0.45rem;
  345. }
  346. .site-footer {
  347. margin-top: auto;
  348. border-top: 1px solid rgba(20, 54, 49, 0.08);
  349. background: rgba(255, 252, 247, 0.72);
  350. }
  351. .footer-inner {
  352. display: flex;
  353. justify-content: space-between;
  354. gap: 1rem;
  355. padding: 1.25rem 0 2rem;
  356. color: var(--text-secondary);
  357. font-size: 0.95rem;
  358. }
  359. .footer-inner p {
  360. margin: 0;
  361. }
  362. @media (max-width: 860px) {
  363. .header-inner,
  364. .footer-inner {
  365. flex-direction: column;
  366. align-items: flex-start;
  367. }
  368. .hero,
  369. .feature-grid {
  370. grid-template-columns: 1fr;
  371. }
  372. .hero-copy,
  373. .hero-panel {
  374. padding: 2rem;
  375. }
  376. .form-grid {
  377. grid-template-columns: 1fr;
  378. }
  379. .page-content {
  380. padding-top: 2rem;
  381. }
  382. }
  383. @media (max-width: 560px) {
  384. .container {
  385. width: min(100% - 1.25rem, 1120px);
  386. }
  387. .site-nav {
  388. width: 100%;
  389. }
  390. .nav-link {
  391. width: 100%;
  392. text-align: center;
  393. }
  394. .hero h1 {
  395. font-size: 2.5rem;
  396. }
  397. }

Powered by TurnKey Linux.