@font-face{font-family:toronto;src:url(/fonts/toronto.ttf)}@font-face{font-family:ibm;src:url(/fonts/ibm-plex-mono.ttf)}@font-face{font-family:sanfran;src:url(/fonts/sanfran.ttf)}@font-face{font-family:chicago;src:url(/fonts/chicago.ttf)}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background-color:#f1f1f1}::-webkit-scrollbar-thumb{background-color:#c8c8c8;border-radius:2px}::-webkit-scrollbar-thumb:hover{background-color:#a0a0a0}@keyframes spin{to{transform:rotate(1turn)}}@keyframes reverse-spin{to{transform:rotate(-1turn)}}.rainbow-letter,.rainbow-wave{display:inline-block}.rainbow-letter{font-weight:700;background:linear-gradient(90deg,#c00,#c50 14.28%,#c90 28.56%,#060 42.84%,#00c 57.12%,indigo 71.4%,#6a0080 85.68%,#c00);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:rainbow-shift 3s linear infinite,letter-wave 1.5s ease-in-out infinite;animation-delay:inherit}@keyframes rainbow-shift{0%{background-position:0 50%}to{background-position:200% 50%}}@keyframes letter-wave{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.modal-open-animation{animation:modal-expand .3s cubic-bezier(.34,1.56,.64,1);transform-origin:center center}@keyframes modal-expand{0%{transform:scale(.1);opacity:0}to{transform:scale(1);opacity:1}}.modal-close-animation{animation:modal-shrink .4s cubic-bezier(.34,1.56,.64,1) forwards;transform-origin:center center}@keyframes modal-shrink{0%{transform:scale(1);opacity:1}99%{transform:scale(.1);opacity:0}to{transform:scale(.1);opacity:0;display:none}}.spinning-mango{animation:spin 2s linear infinite}.loading-screen-exit{opacity:0;transform:scale(1.2)}.desktop-enter{animation:desktop-fade-in .6s ease-out}@keyframes desktop-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}html{min-height:100%;background:linear-gradient(180deg,#1a7fb0 0,#0d5786 42%,#052c46) no-repeat fixed #052c46}body{background:transparent}.reef-stage canvas{position:absolute;top:0;left:0;width:100%!important;height:100%!important;filter:blur(.7px) saturate(.95) contrast(.98) brightness(1.02)}.reef-grade{background:radial-gradient(ellipse at 50% 42%,hsla(0,0%,100%,0) 45%,rgba(2,40,66,.2) 100%),linear-gradient(rgba(150,205,235,.06),rgba(120,180,215,.02))}.reef-scan{opacity:.07;background:repeating-linear-gradient(rgba(0,0,0,.35) 0 1px,transparent 1px 3px)}.glass{background:rgba(10,62,96,.42);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(190,235,255,.28);box-shadow:0 8px 32px rgba(2,26,44,.45),inset 0 1px 0 hsla(0,0%,100%,.18)}.glass-scroll::-webkit-scrollbar-track{background-color:transparent}.glass-scroll::-webkit-scrollbar-thumb{background-color:rgba(190,235,255,.3);border-radius:6px}.glass a{color:#9fe0ff}.catch-toast{animation:catch-rise .4s cubic-bezier(.34,1.56,.64,1)}@keyframes catch-rise{0%{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%)}}.catch-toast{transform:translateX(-50%)}.bobbing-shell{animation:bob 2.4s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(-6px) rotate(-6deg)}50%{transform:translateY(6px) rotate(6deg)}}.reef-labels{position:absolute;inset:0;pointer-events:none;z-index:3}.reef-tag{position:absolute;top:0;left:0;transform-origin:50% 0;pointer-events:auto;cursor:pointer;padding:8px 18px;border-radius:11px;text-align:center;white-space:nowrap;color:#eaf7ff;transition:opacity .2s,background .15s}.reef-tag:after{content:"";position:absolute;left:50%;bottom:100%;width:1px;height:16px;background:linear-gradient(rgba(190,235,255,0),rgba(190,235,255,.55))}.reef-tag b{display:block;font-family:chicago,ui-sans-serif,system-ui,sans-serif;font-size:14px;letter-spacing:.03em;font-weight:400}.reef-tag i{display:block;font-family:ibm,ui-monospace,monospace;font-size:10px;font-style:normal;opacity:.6;margin-top:2px}.reef-tag.on{background:rgba(120,205,245,.32)}@media (max-width:700px){.reef-tag{padding:5px 11px 6px;border-radius:9px}.reef-tag b{font-size:12px}.reef-tag i{font-size:9px}}.load-bubble{position:absolute;bottom:-8px;border-radius:50%;background:rgba(234,248,255,.55);animation-name:bubble-rise;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes bubble-rise{0%{transform:translate(0);opacity:0}10%{opacity:.55}90%{opacity:.55}to{transform:translate(14px,-100vh);opacity:0}}