globe.css 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /* Spinning Globe Animation CSS - Replaces radar */
  2. :root {
  3. --globe-hue: 220deg;
  4. --globe-base-bg-sat: 20%;
  5. --globe-base-bg-lum: 12%;
  6. --globe-base-bg: hsl(var(--globe-hue), var(--globe-base-bg-sat), var(--globe-base-bg-lum));
  7. --globe-base-fg-sat: 50%;
  8. --globe-base-fg-lum: 80%;
  9. --globe-base-fg: hsl(var(--globe-hue), var(--globe-base-fg-sat), var(--globe-base-fg-lum));
  10. --globe-filter-fg: saturate(100%) brightness(100%);
  11. --globe-module-bg-sat: 18%;
  12. --globe-module-bg-lum: 27%;
  13. --globe-module-bg: hsl(var(--globe-hue), var(--globe-module-bg-sat), var(--globe-module-bg-lum));
  14. }
  15. /* Dark mode adjustments for globe */
  16. @media (prefers-color-scheme: dark) {
  17. :root {
  18. --globe-hue: 220deg;
  19. --globe-base-bg-sat: 25%;
  20. --globe-base-bg-lum: 15%;
  21. --globe-base-fg-sat: 60%;
  22. --globe-base-fg-lum: 85%;
  23. --globe-filter-fg: saturate(120%) brightness(110%);
  24. --globe-module-bg-sat: 22%;
  25. --globe-module-bg-lum: 30%;
  26. }
  27. }
  28. /* Globe Container - fits inside the gray content box */
  29. .globe-container {
  30. display: block;
  31. width: 100%;
  32. height: 200px;
  33. position: relative;
  34. overflow: hidden;
  35. }
  36. .world {
  37. fill: rgba(107, 114, 128, 0.1); /* Gray color with reduced opacity */
  38. width: 40em;
  39. height: 40em;
  40. position: absolute;
  41. left: 50%;
  42. top: 0%;
  43. transform: translateX(-50%);
  44. border-radius: 50%;
  45. overflow: hidden;
  46. white-space: nowrap;
  47. border: 2px solid rgba(156, 163, 175, 0.2); /* Light gray border with reduced opacity */
  48. box-sizing: border-box;
  49. background-image: url(#icon-world);
  50. filter: var(--globe-filter-fg);
  51. }
  52. /* Dark mode globe styling */
  53. @media (prefers-color-scheme: dark) {
  54. .world {
  55. fill: rgba(156, 163, 175, 0.2);
  56. border-color: rgba(156, 163, 175, 0.4);
  57. }
  58. }
  59. .world svg {
  60. width: 160em;
  61. height: 40em;
  62. margin-top: calc(-2px + -0.05em);
  63. display: inline;
  64. animation: world-scroll 8s linear infinite;
  65. }
  66. @keyframes world-scroll {
  67. from { margin-left: -110em; }
  68. to { margin-left: -40em; }
  69. }