:root{--color-bg:#000;--color-accent:#42a6df;--color-accent-dim:#42a6df59;--color-text:#fff}*{box-sizing:border-box;margin:0;padding:0}body,html{background:#000;background:var(--color-bg)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow-x:hidden}.app{background:#000;background:var(--color-bg);width:100%}.canvas{-webkit-user-drag:none;aspect-ratio:1440/3985;margin:0 auto;position:relative;-webkit-user-select:none;user-select:none;width:100%}.canvas__bg{display:block;height:100%;inset:0;object-fit:cover;pointer-events:none;position:absolute;width:100%}picture{display:contents}.hotspot{background:#0000;border:0;border-radius:9999px;color:#0000;cursor:pointer;display:block;margin:0;padding:0;position:absolute;text-decoration:none;transition:box-shadow .15s ease,background-color .15s ease}.hotspot--circle{border-radius:50%}.hotspot--rect{border-radius:8px}.hotspot:hover{background-color:#ffffff0f;outline:none}.hotspot:focus-visible{background-color:#42a6df14;box-shadow:inset 0 0 0 2px #42a6df;box-shadow:inset 0 0 0 2px var(--color-accent);outline:none}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (prefers-reduced-motion:reduce){.hotspot{transition:none}}.feedback-modal-overlay{align-items:center;animation:fadeIn .15s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b8;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.feedback-modal{background:#111;border-radius:12px;box-shadow:0 20px 60px #0009;color:#fff;max-height:92vh;max-width:560px;overflow-y:auto;padding:2rem;position:relative;width:100%}.feedback-modal__close{background:#0000;border:0;border-radius:50%;color:#fff;cursor:pointer;font-size:1.75rem;height:48px;position:absolute;right:.75rem;top:.75rem;width:48px}.feedback-modal__close:focus-visible,.feedback-modal__close:hover{background:#ffffff14;outline:2px solid #42a6df;outline:2px solid var(--color-accent,#42a6df)}.feedback-modal__title{font-size:1.5rem;margin:0 0 .25rem}.feedback-modal__lede{color:#b0b3b8;margin:0 0 1.25rem}.feedback-modal__form{grid-gap:1rem;display:grid;gap:1rem}.feedback-field{display:flex;flex-direction:column;gap:.25rem}.feedback-field label{color:#d6d8db;font-size:.875rem}.feedback-field input,.feedback-field textarea{background:#ffffff0f;border:1px solid #ffffff24;border-radius:6px;box-sizing:border-box;color:#fff;font-family:inherit;font-size:1rem;min-height:48px;padding:.625rem .875rem;width:100%}.feedback-field textarea{min-height:96px;resize:vertical}.feedback-field input:focus-visible,.feedback-field textarea:focus-visible{border-color:#42a6df;border-color:var(--color-accent,#42a6df);outline:3px solid #42a6df;outline:3px solid var(--color-accent,#42a6df);outline-offset:1px}.feedback-field input[aria-invalid=true],.feedback-field textarea[aria-invalid=true]{border-color:#ff6b6b}.feedback-field__error{color:#ff8585;font-size:.8125rem}.feedback-consent{align-items:flex-start;color:#c0c3c7;display:flex;font-size:.875rem;gap:.5rem}.feedback-consent input{accent-color:#42a6df;accent-color:var(--color-accent,#42a6df);height:20px;margin-top:2px;width:20px}.feedback-consent a{color:#42a6df;color:var(--color-accent,#42a6df)}.feedback-modal__submit{background:#42a6df;background:var(--color-accent,#42a6df);border:0;border-radius:6px;color:#000;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;min-height:48px;padding:.875rem 1.5rem;transition:background .15s ease,opacity .15s ease}.feedback-modal__submit:hover:not(:disabled){background:#6cbde8;background:var(--color-accent-hover,#6cbde8)}.feedback-modal__submit:focus-visible{outline:3px solid #42a6df80;outline-offset:2px}.feedback-modal__submit:disabled{cursor:not-allowed;opacity:.6}.feedback-modal__status{border-radius:6px;font-weight:500;margin-top:1rem;padding:.875rem 1rem}.feedback-modal__status--success{background:#1d3f29;color:#a6e7bc}.feedback-modal__status--error{background:#3f1d1d;color:#e7a6a6}@media (max-width:480px){.feedback-modal{border-radius:8px;padding:1.25rem}}body.modal-open{overflow:hidden}