:root{--primary: #43da54;--primary-dark: #21782a;--error: #e25336;--success: var(--primary);--background: #000;--text-small: clamp(1.28rem, 0.05vi + 1.26rem, 1.35rem);--text-medium: clamp(1.6rem, 0.13vi + 1.55rem, 1.8rem);--text-large: clamp(2rem, 0.26vi + 1.89rem, 2.4rem);--gap-small: 2rem;--gap-medium: 4rem;--padding-container: 4rem}@font-face{font-family: "Inconsolata";font-style: normal;font-weight: 400;font-display: swap;src: url("/assets/fonts/inconsolata-regular.woff2") format("woff2")}@font-face{font-family: "Inconsolata";font-style: normal;font-weight: 700;font-display: swap;src: url("/assets/fonts/inconsolata-bold.woff2") format("woff2")}*,*::before,*::after{box-sizing: border-box;margin: 0;padding: 0}html{font-size: 62.5%}body{background-color: var(--background);color: var(--primary);font-family: "Inconsolata", monospace;font-size: var(--text-medium);min-height: 100svh;line-height: 1.5;overflow: clip}::selection{background-color: var(--primary-dark);color: #fff}::-moz-selection{background-color: var(--primary-dark);color: #fff}.container{display: grid;gap: var(--gap-medium);grid-template-columns: 1fr;grid-template-rows: auto 1fr;height: 100svh;margin: 0 auto;max-width: 192rem;min-height: 55rem;padding: var(--padding-container)}.main-content{align-items: center;display: grid;gap: var(--gap-medium);grid-column: 1;grid-row: 2;grid-template-columns: 1fr 3fr 1fr;grid-template-rows: 1fr auto;height: 100%}.main-content > *:not(.globe-container){z-index: 1}header{z-index: 1}.title{font-size: var(--text-large);grid-column: 1;grid-row: 1;text-align: center;width: 100%}.current-location{align-self: center;grid-column: 1;grid-row: 1;justify-self: left}.location-button{background: none;border: none;color: inherit;cursor: pointer;display: block;font: inherit;font-weight: bold;padding: 0;text-align: inherit}.location-button:hover:not(:disabled){color: var(--primary-dark)}.location-button:disabled{cursor: default}.location-button:focus-visible{outline: 0.2rem solid var(--primary);outline-offset: 0.2rem}.globe-container{align-items: center;display: flex;grid-column: 2;grid-row: 1;height: 100%;justify-content: center;left: 50%;overflow: hidden;top: 50%;position: absolute;transform: translate(-50%, -50%);width: 100%;z-index: 0}.globe{height: 100%;max-height: 100%;max-width: 100%;width: 100%}.globe > div{align-items: center;display: flex;height: 100%;justify-content: center;width: 100%}.globe canvas{cursor: grab;transition: width 0.3s ease, height 0.3s ease}.previous-locations{align-self: center;grid-column: 3;grid-row: 1;justify-self: right;text-align: right}.previous-locations > div:first-of-type{font-weight: bold}#previous-list{max-height: calc(var(--text-medium) * 8 * 1.5);overflow-y: auto;padding-right: 0.5rem;scrollbar-width: thin;scrollbar-color: var(--primary-dark) transparent}#previous-list::-webkit-scrollbar{width: 0.6rem}#previous-list::-webkit-scrollbar-track{background: transparent}#previous-list::-webkit-scrollbar-thumb{background: var(--primary-dark);border-radius: 0.3rem}#previous-list::-webkit-scrollbar-thumb:hover{background: var(--primary)}.location-item{background: none;border: none;color: inherit;cursor: pointer;font: inherit;padding: 0;text-align: inherit}.location-item:disabled{color: var(--primary-dark);cursor: not-allowed}.location-item:hover{color: var(--primary-dark)}.location-item:focus-visible{outline: 0.2rem solid var(--primary);outline-offset: 0.2rem}.newsletter{align-items: center;display: flex;flex-direction: column;gap: var(--gap-small);grid-column: span 3;grid-row: 2;margin-top: var(--gap-small)}.newsletter section{align-items: center;display: flex;flex-direction: column;gap: var(--gap-small);width: 100%}.email-form{align-items: center;backdrop-filter: blur(0.4rem);background: rgba(0, 0, 0, 0.8);border: 0.1rem solid var(--primary);border-radius: 0.8rem;display: flex;max-width: 50rem;overflow: hidden;position: relative;width: 100%}.email-form:focus-within{border-color: var(--primary-dark)}.email-input{background: transparent;border: none;color: var(--primary);flex: 1;font-family: "Inconsolata", monospace;font-size: var(--text-medium);line-height: 1.5em;outline: none;padding: 1.2rem calc(1ch + 3.2rem);text-align: center}.email-input::placeholder{color: var(--primary-dark)}.submit-btn{background: transparent;border: none;color: var(--primary);cursor: pointer;font-family: "Inconsolata", monospace;font-size: var(--text-large);padding: 1.2rem 1.6rem;position: absolute;right: 0;top: 0}.submit-btn:hover{color: var(--primary-dark)}.submit-btn:focus-visible{outline: 0.2rem solid var(--primary);outline-offset: -0.8rem}.footer-links{display: flex;flex-direction: row;justify-content: space-between;max-width: 50rem;row-gap: 0.4rem;width: 100%}.policy{background: none;border: none;border-bottom: 0.1rem solid var(--primary);color: var(--primary);cursor: pointer;font-family: inherit;font-size: var(--text-small);line-height: 1.5;padding: 0}.policy:hover{border-color: var(--primary-dark);color: var(--primary-dark)}.policy:focus-visible{outline: 0.2rem solid var(--primary);outline-offset: 0.2rem}.footer-links a{color: var(--primary);border-bottom: 0.1rem solid var(--primary);font-size: var(--text-small);text-decoration: none}.footer-links a:hover{border-color: var(--primary-dark);color: var(--primary-dark)}.loading{color: var(--primary-dark);cursor: default;pointer-events: none}.error{color: var(--error)}.success{color: var(--success)}.error-message{color: var(--error);font-size: var(--text-small);margin-top: 0.5rem}#newsletter-status{display: none}#newsletter-status:not(:empty){display: block}.modal{position: fixed;top: 0;left: 0;width: 100%;height: 100%;z-index: 1000;display: none;align-items: center;justify-content: center;padding: var(--gap-medium)}.modal[aria-hidden="false"]{display: flex}.modal-overlay{position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0, 0, 0, 0.8);backdrop-filter: blur(0.4rem)}.modal-content{position: relative;border: 0.2rem solid var(--primary);border-radius: 1rem;max-width: 60rem;max-height: 80svh;width: 100%;overflow: hidden;display: flex;flex-direction: column}.modal-header{display: flex;justify-content: space-between;align-items: center;padding: var(--gap-small);border-bottom: 0.1rem solid var(--primary-dark)}.modal-header h2{color: var(--primary);font-size: var(--text-large);margin: 0}.modal-close{background: none;border: none;color: var(--primary);font-size: 3rem;cursor: pointer;padding: 0;line-height: 1;width: 3rem;height: 3rem;display: flex;align-items: center;justify-content: center}.modal-close:hover{color: var(--primary-dark)}.modal-close:focus-visible{outline: 0.2rem solid var(--primary);outline-offset: 0.2rem}.modal-body{padding: var(--gap-small);overflow-y: auto;flex: 1;color: var(--primary);line-height: 1.6}.privacy-section{margin-bottom: var(--gap-small)}.privacy-section:last-child{margin-bottom: 0}.privacy-section h3{color: var(--primary);font-size: var(--text-medium);margin-bottom: 1rem;font-weight: bold}.privacy-section p{margin-bottom: 1rem;font-size: var(--text-small)}.privacy-section ul{margin-left: var(--gap-small);margin-bottom: 1rem}.privacy-section li{margin-bottom: 0.5rem;font-size: var(--text-small)}.privacy-section strong{font-weight: bold}.privacy-section em{color: var(--primary-dark);font-style: italic}.privacy-section a{border-bottom: 0.1rem solid var(--primary);color: var(--primary);text-decoration: none}.privacy-section a:hover{border-color: var(--primary-dark);color: var(--primary-dark)}.privacy-section a:focus-visible{outline: 0.2rem solid var(--primary);outline-offset: 0.2rem}.modal-footer{padding: var(--gap-small);border-top: 0.1rem solid var(--primary-dark);display: flex;justify-content: flex-end}.modal-close-btn{background: transparent;border: 0.1rem solid var(--primary);color: var(--primary);padding: 1rem var(--gap-small);border-radius: 0.5rem;cursor: pointer;font-family: "Inconsolata", monospace;font-size: var(--text-medium)}.modal-close-btn:hover{background: var(--primary);color: var(--background)}.modal-close-btn:focus-visible{outline: 0.2rem solid var(--primary);outline-offset: 0.2rem}.location-tooltip{display: flex;align-items: center;justify-content: center;position: fixed;background: rgba(0, 0, 0, 0.8);border: 0.1rem solid var(--primary);border-radius: 0.8rem;padding: var(--gap-small);z-index: 1001;pointer-events: none;opacity: 0;backdrop-filter: blur(0.4rem);width: 100%;max-width: 50rem;text-align: center;left: 50%;top: var(--padding-container);transform: translateX(-50%)}.location-tooltip[aria-hidden="false"]{opacity: 1;pointer-events: auto}.tooltip-content{display: flex;flex-direction: column;gap: 0.5rem}.tooltip-location{color: var(--primary);font-size: var(--text-medium);font-weight: bold}.tooltip-date{color: var(--primary-dark);font-size: var(--text-small)}.sr-only{border: 0;clip: rect(0, 0, 0, 0);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;white-space: nowrap;width: 1px}.skip-link{background: var(--primary);border-radius: 0.4rem;color: var(--background);left: 0.6rem;padding: 0.8rem;position: absolute;text-decoration: none;top: 0;transform: translateY(-100%);transition: transform 0.2s ease;z-index: 1000}.skip-link:focus-visible{transform: translateY(-0.2rem)}@media (prefers-reduced-motion: reduce){.modal-overlay{backdrop-filter: none}}.newsletter-status-modal .modal-content{max-width: 50rem;text-align: center}.newsletter-status-modal .modal-body{padding: var(--gap-medium) var(--gap-small)}.newsletter-modal-icon{width: 6rem;height: 6rem;border-radius: 50%;display: flex;align-items: center;justify-content: center;font-family: Arial, Helvetica, sans-serif;font-size: 3rem;font-weight: bold;margin: 0 auto var(--gap-small) auto}.newsletter-modal-icon.success{background: rgba(67, 218, 84, 0.2);color: var(--success);border: 0.2rem solid var(--success)}.newsletter-modal-icon.error{background: rgba(226, 83, 54, 0.2);color: var(--error);border: 0.2rem solid var(--error)}.newsletter-modal-icon.info{background: rgba(67, 218, 84, 0.1);color: var(--primary-dark);border: 0.2rem solid var(--primary-dark)}.newsletter-status-modal .modal-body p{font-size: var(--text-medium);line-height: 1.6;margin-bottom: var(--gap-small);color: var(--primary)}.newsletter-status-modal .modal-body p:last-child{margin-bottom: 0}.newsletter-modal-actions{margin-top: var(--gap-small);display: flex;flex-direction: column;gap: 1rem;align-items: center}.newsletter-retry-btn,.newsletter-contact-btn{background: transparent;border: 0.1rem solid var(--primary);color: var(--primary);padding: 1rem var(--gap-small);border-radius: 0.5rem;cursor: pointer;font-family: "Inconsolata", monospace;font-size: var(--text-medium);text-decoration: none;display: inline-block}.newsletter-retry-btn:hover,.newsletter-contact-btn:hover{background: var(--primary);color: var(--background)}.newsletter-retry-btn:focus-visible,.newsletter-contact-btn:focus-visible{outline: 0.2rem solid var(--primary);outline-offset: 0.2rem}.newsletter-modal-icon.error ~ .newsletter-modal-actions .newsletter-retry-btn,.newsletter-modal-icon.error~ .newsletter-modal-actions.newsletter-contact-btn{border-color: var(--error);color: var(--error)}.newsletter-modal-icon.error~ .newsletter-modal-actions.newsletter-retry-btn:hover,.newsletter-modal-icon.error~ .newsletter-modal-actions.newsletter-contact-btn:hover{background: var(--error);color: var(--background)}@media (prefers-reduced-motion: reduce){.newsletter-status-modal,.newsletter-status-modal .modal-content{animation: none}.newsletter-status-modal{opacity: 1}.newsletter-status-modal .modal-content{transform: scale(1);opacity: 1}}@media (max-width: 1200px){.title{font-size: var(--text-medium)}.main-content{gap: var(--gap-small);grid-template-columns: 1fr;grid-template-rows: auto 1fr auto auto}.current-location{grid-column: 1;grid-row: 1;justify-self: start;text-align: left;width: 100%}.globe-container{grid-column: 1;grid-row: 2}.previous-locations{grid-column: 1;grid-row: 3;justify-self: start;text-align: left;width: 100%}.previous-locations #previous-list{column-gap: var(--gap-small);display: grid;grid-template-columns: 1fr 1fr}.previous-locations #previous-list > div:last-child{grid-column: span 2}.newsletter{grid-column: 1;grid-row: 4}}@media (max-width: 768px){.modal{padding: var(--gap-small)}.modal-content{max-height: calc(100svh - (var(--gap-small) * 2))}.modal-header,.modal-body,.modal-footer{padding-left: 1.5rem;padding-right: 1.5rem}.modal-header h2{font-size: var(--text-medium)}#previous-list{max-height: calc(var(--text-medium) * 4 * 1.5)}.location-tooltip{left: var(--padding-container);right: var(--padding-container);transform: none;max-width: none;width: calc(100% - var(--padding-container) * 2)}.newsletter-status-modal .modal-content{max-width: calc(100vw - var(--gap-small) * 2)}.newsletter-modal-icon{width: 5rem;height: 5rem;font-size: 2.5rem}.newsletter-status-modal .modal-body{padding: var(--gap-small)}.newsletter-status-modal .modal-body p{font-size: var(--text-small)}}@media (max-width: 580px){.previous-locations #previous-list{grid-template-columns: 1fr}.previous-locations #previous-list > div:last-child{grid-column: span 1}.container{gap: var(--gap-small);padding: var(--gap-small)}.location-tooltip{top: var(--gap-small);left: var(--gap-small);right: var(--gap-small);width: calc(100% - var(--gap-small) * 2)}.newsletter{margin-top: 0}}