:root{--mark-empire:#d6d7de;--mark-rebel:#eb2a2f;--mark-jedi:#e3b341;--mark-sith:#c2162a}.element-marks{--mark:22px;--gap:12px;color:var(--sc-line);margin-top:20px;display:grid;position:relative}@media (pointer:coarse){.element-marks{--mark:26px}}.element-marks-set{align-items:center;gap:var(--gap);grid-area:1/1;display:flex}.element-mark{width:var(--mark);height:var(--mark);color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0;display:block;position:relative}.element-mark:after{content:"";inset:-11px calc(var(--gap) / -2);position:absolute}.element-mark svg{opacity:.72;width:100%;height:100%;transition:opacity var(--t) var(--ease), transform var(--t) var(--ease);display:block}.hackathon-card:hover .element-mark svg{opacity:1}.element-mark[data-on] svg{opacity:1;transform:translateY(-2px)}@media (hover:hover){.element-mark:hover svg{transform:translateY(-2px)}}.element-mark:focus-visible{outline:2px solid var(--fg2);outline-offset:5px;border-radius:6px}.element-mark-label{z-index:6;width:max-content;max-width:100%;min-width:calc((var(--mark) + var(--gap)) * (var(--i) + 1) + 6px);background:var(--bg);border:1px solid var(--fg3);pointer-events:none;animation:element-label-in .16s var(--ease);border-radius:10px;flex-direction:column;gap:2px;padding:9px 13px 10px;display:flex;position:absolute;bottom:calc(100% + 10px);left:0;box-shadow:0 8px 24px #0000002e}.element-mark-label strong{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg);font-size:.7rem;font-weight:600}.element-mark-label span{color:var(--fg2);font-size:.8rem;line-height:1.4}.element-mark-label:after{content:"";bottom:-6px;left:calc(var(--mark) / 2 + (var(--mark) + var(--gap)) * var(--i) - 5px);background:var(--bg);border-right:1px solid var(--fg3);border-bottom:1px solid var(--fg3);width:9px;height:9px;position:absolute;transform:rotate(45deg)}@keyframes element-label-in{0%{opacity:0;transform:translateY(4px)}}body:has(.route-loading){flex-direction:column;min-height:100svh;display:flex}body:has(.route-loading)>main{flex:1 0 auto;display:grid}.route-loading{place-items:center;min-height:320px;display:grid}.element-spinner{--r:42px;--m:32px;--turn:8s;width:124px;color:var(--sc-line);position:relative}.element-spinner-ring{width:124px;height:124px;animation:element-spin var(--turn) linear infinite;position:relative}.element-spinner-ring:before{content:"";inset:calc(62px - var(--r));border:1px dashed var(--card-border);border-radius:50%;position:absolute}.element-spinner-set{position:absolute;inset:0}.element-spinner-mark{width:var(--m);height:var(--m);margin:calc(var(--m) / -2) 0 0 calc(var(--m) / -2);transform:rotate(calc(var(--i) * 90deg)) translateY(calc(var(--r) * -1)) rotate(calc(var(--i) * -90deg));animation:2.4s ease-in-out infinite element-chase;animation-delay:calc(var(--i) * -.6s);position:absolute;top:50%;left:50%}.element-spinner-mark svg{width:100%;height:100%;animation:element-spin var(--turn) linear infinite reverse;display:block}.element-spinner .scene-nature,.element-spinner .scene-nature *,.element-spinner .scene-space,.element-spinner .scene-space *{animation-play-state:running!important}.element-spinner-label{text-align:center;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg3);font-size:.72rem;position:absolute;top:calc(100% + 18px);left:0;right:0}@keyframes element-spin{to{transform:rotate(360deg)}}@keyframes element-chase{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.element-spinner-ring,.element-spinner-mark,.element-spinner-mark svg,.element-mark-label{animation:none!important}}
