:root{--nav-height: 64px;--nav-max-width: 100%}.topNavBarContainer{padding:0 2rem;height:var(--nav-height);background-color:var(--main);color:var(--font-color);border-bottom:1px solid var(--tertiary);position:relative;box-shadow:0 1px 0 var(--tertiary),0 4px 24px var(--shadow-color-light);transition:background-color .3s ease,border-color .3s ease}.topNavBarContainer--workflow{padding:0 1.2rem}.topNavBarContainer--mobile-app{display:none}.topNavBar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:var(--nav-height);max-width:var(--nav-max-width);margin:0 auto}.topNavBar--workflow{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center}.topNavBar__project-switcher{min-width:0}.topNavBar__workflow{min-width:0;overflow:hidden}.topNavBar__brand{font-family:Cormorant Garamond,Georgia,serif;font-size:1.75rem;font-weight:600;font-style:italic;color:var(--purple-color);letter-spacing:-.01em;text-decoration:none;flex-shrink:0;line-height:1;transition:opacity .2s ease;position:relative}.topNavBar__brand:after{content:".";color:var(--blue-color);font-style:normal}.topNavBar__brand:hover{opacity:.72;color:var(--purple-color)}.topNavBar__nav{display:flex;align-items:center}.topNavBar__links{display:flex;flex-direction:row;gap:.15rem;align-items:center;list-style:none;padding:0;margin:0}.topNavBar__link{background:none;border:none;padding:.45rem .9rem;font-family:Montserrat,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--font-color);opacity:.5;cursor:pointer;border-radius:6px;transition:opacity .2s ease,background .2s ease,color .2s ease}.topNavBar__link:hover{opacity:1;color:var(--blue-color);background:var(--main-auxiliary)}.topNavBar__actions{display:flex;flex-direction:row;align-items:center;gap:.4rem;flex-shrink:0}.topNavBar__hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;transition:background .12s ease}.topNavBar__hamburger:hover{background:var(--main-auxiliary)}.topNavBar__hamburger-bar{display:block;width:22px;height:2px;background:var(--font-color);border-radius:2px}.topNavBar__items__link{font-size:.85rem;color:var(--font-color);font-family:Montserrat,sans-serif;background:none;border:none;cursor:pointer;padding:.3rem;opacity:.55;border-radius:6px;transition:opacity .2s ease,background .2s ease;display:flex;align-items:center}.topNavBar__items__link:hover{opacity:1;background:var(--main-auxiliary);text-decoration:none}.langSelector{position:relative;display:inline-flex}.langSelector__trigger{display:inline-flex;align-items:center;gap:.32rem;height:32px;padding:0 .65rem;border:1px solid var(--tertiary);border-radius:999px;background:transparent;color:var(--font-color);font-family:Montserrat,sans-serif;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease;white-space:nowrap}.langSelector__trigger:hover,.langSelector__trigger--open{border-color:var(--blue-color);color:var(--blue-color);background-color:#b8731814}body.dark-mode .langSelector__trigger:hover,body.dark-mode .langSelector__trigger--open{background-color:#d4921c1a}.langSelector__globe{font-size:15px;line-height:1;opacity:.6;transition:opacity .18s ease}.langSelector__trigger:hover .langSelector__globe,.langSelector__trigger--open .langSelector__globe{opacity:1}.langSelector__code{font-size:.7rem;font-weight:800;letter-spacing:.1em}.langSelector__chevron{display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1.5px);transition:transform .18s ease;opacity:.7;flex-shrink:0}.langSelector__trigger--open .langSelector__chevron{transform:rotate(-135deg) translateY(1.5px);opacity:1}.langSelector__panel{position:absolute;top:calc(100% + 8px);right:0;min-width:148px;background:var(--main);border:1px solid var(--tertiary);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014,0 8px 28px #0000001a;z-index:500;transform-origin:top right;animation:langPanel-in .15s cubic-bezier(.16,1,.3,1) forwards}body.dark-mode .langSelector__panel{box-shadow:0 2px 8px #0003,0 8px 32px #00000059}@keyframes langPanel-in{0%{opacity:0;transform:scale(.94) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.langSelector__option{display:flex;align-items:center;width:100%;padding:.6rem .9rem;border:none;background:transparent;color:var(--font-color);font-family:Montserrat,sans-serif;cursor:pointer;gap:.65rem;text-align:left;transition:background-color .12s ease}.langSelector__option:not(:last-child){border-bottom:1px solid var(--tertiary)}.langSelector__option:hover{background-color:var(--main-auxiliary)}.langSelector__option--active{color:var(--blue-color)}.langSelector__option-code{font-size:.68rem;font-weight:800;letter-spacing:.1em;min-width:22px;flex-shrink:0}.langSelector__option-label{font-size:.8rem;font-weight:500;flex:1}.langSelector__option-dot{width:5px;height:5px;border-radius:50%;background:var(--blue-color);flex-shrink:0}.profileNavBar{border:none;background:none;padding:.25rem;font-size:1rem;cursor:pointer;color:var(--font-color);border-radius:999px;transition:opacity .2s ease,box-shadow .2s ease}.profileNavBar:hover{opacity:.78}.profileNavBar.active .profileNavBar__image{border-color:var(--purple-color);box-shadow:0 0 0 2px var(--purple-color)}.profileNavBar__image{height:34px;width:34px;border-radius:999px;object-fit:cover;border:1.5px solid var(--tertiary);display:block;transition:border-color .2s ease,box-shadow .2s ease}.profileNavBar__dropdown{position:absolute;top:calc(100% + .75rem);right:0;background-color:var(--main);border:1px solid var(--tertiary);border-radius:14px;box-shadow:0 16px 48px var(--shadow-color-light),0 2px 8px var(--shadow-color-light);z-index:1000;min-width:226px;font-size:.875rem;display:none;color:var(--font-color);overflow:hidden}.profileNavBar__dropdown.open{display:block;animation:dropdown-reveal .18s ease}@keyframes dropdown-reveal{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.profileNavBar__header{display:flex;align-items:center;gap:.75rem;padding:1rem 1rem .9rem}.profileNavBar__header__avatar{width:38px;height:38px;border-radius:999px;background:var(--purple-color);color:var(--on-brand);display:flex;align-items:center;justify-content:center;font-family:Cormorant Garamond,Georgia,serif;font-size:1rem;font-weight:700;flex-shrink:0;letter-spacing:.02em}.profileNavBar__header__info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.profileNavBar__header__name{font-family:Montserrat,sans-serif;font-weight:600;font-size:.85rem;color:var(--font-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profileNavBar__header__badge{font-family:Montserrat,sans-serif;font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-color);background:#b873181f;padding:.1rem .35rem;border-radius:4px;align-self:flex-start}.profileNavBar__divider{height:1px;background:var(--tertiary);margin:.2rem 0}.profileNavBar__dropdown__item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.62rem 1rem;background:none;border:none;cursor:pointer;font-family:Montserrat,sans-serif;font-size:.84rem;font-weight:500;color:var(--font-color);text-align:left;transition:background .15s ease}.profileNavBar__dropdown__item:hover{background:var(--main-auxiliary)}a.profileNavBar__dropdown__item{text-decoration:none;color:var(--font-color)}.profileNavBar__dropdown__icon{font-size:1.05rem;opacity:.5;flex-shrink:0}.profileNavBar__dropdown__toggle{justify-content:flex-start}.profileNavBar__toggle-pill{margin-left:auto;width:30px;height:17px;border-radius:999px;background:var(--tertiary);position:relative;flex-shrink:0;transition:background .22s ease}.profileNavBar__toggle-pill:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:999px;background:var(--main);transition:transform .22s ease;box-shadow:0 1px 3px #0003}.profileNavBar__toggle-pill.active{background:var(--purple-color)}.profileNavBar__toggle-pill.active:after{transform:translate(13px)}.profileNavBar__dropdown__item--logout{color:var(--red-color);opacity:.8}.profileNavBar__dropdown__item--logout:hover{opacity:1;background:var(--main-auxiliary)}.profileNavBar__dropdown__item--logout .profileNavBar__dropdown__icon{opacity:.6}.ProfileNavBar__container{position:relative;margin-left:2px}.solver-progress{margin:12px 0}.solver-progress__label{font-size:.9rem;margin-bottom:6px;color:var(--font-color)}.solver-progress__bar-track{height:10px;background:var(--main-auxiliary);border-radius:5px;overflow:hidden}.solver-progress__bar-fill{height:100%;background:var(--blue-color);border-radius:5px;transition:width .4s ease}.solver-status{padding:8px 12px;border-radius:4px;margin:8px 0;font-size:.9rem}.solver-status--success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.solver-status--error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@media(max-width:700px){.topNavBar__nav{display:none}.topNavBarContainer{padding:0 1.25rem}}@media(max-width:767px){.topNavBarContainer--mobile-app{display:block}.topNavBar__hamburger{display:flex}}.navigationButton{cursor:pointer;padding:8px 12px;list-style:none;font-size:16px;color:var(--font-color);background-color:var(--main-auxiliary);border:none;border-radius:5px;transition:background-color .3s ease,color .3s ease,opacity .3s ease}.navigationButton:hover{opacity:.8}.tier-limited-button.is-tier-limited,.tier-limited-button[data-tier-limited=true]{opacity:.55;filter:grayscale(.35);cursor:not-allowed}.tier-limited-button.is-tier-limited:hover,.tier-limited-button[data-tier-limited=true]:hover{opacity:.55}.tw-toast{--tw-toast-accent: var(--purple-color);position:fixed;top:24px;left:50%;z-index:10000;width:min(440px,calc(100vw - 32px));min-width:min(280px,calc(100vw - 32px));display:flex;align-items:center;gap:.65rem;padding:.82rem .82rem .82rem 1.05rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--tw-toast-accent) 20%,var(--main-auxiliary));background:var(--white-color);box-shadow:0 4px 6px #0000000a,0 12px 32px #0000001c,0 0 0 1px color-mix(in srgb,var(--tw-toast-accent) 9%,transparent);font-family:Montserrat,sans-serif;font-size:.82rem;font-weight:500;color:var(--font-color);overflow:hidden;animation:tw-toast-in .44s cubic-bezier(.34,1.56,.64,1) forwards}.tw-toast--exiting{animation:tw-toast-out .28s ease-in forwards}.tw-toast--success{--tw-toast-accent: var(--green-color)}.tw-toast--error{--tw-toast-accent: var(--red-color)}.tw-toast--warning{--tw-toast-accent: var(--blue-color)}.tw-toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tw-toast-accent);border-radius:14px 0 0 14px}.tw-toast__icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tw-toast-accent) 14%,transparent);color:var(--tw-toast-accent)}.tw-toast__text{flex:1;min-width:0;line-height:1.4;white-space:pre-line;overflow-wrap:anywhere}.tw-toast__close{flex-shrink:0;width:22px;height:22px;border:none;border-radius:7px;background:transparent;color:color-mix(in srgb,var(--font-color) 50%,transparent);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .12s,color .12s}.tw-toast__close:hover{background:color-mix(in srgb,var(--font-color) 8%,transparent);color:var(--font-color)}.tw-toast__progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:color-mix(in srgb,var(--tw-toast-accent) 40%,transparent);transform-origin:left;animation:tw-toast-progress 3.5s linear forwards}@keyframes tw-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-20px) scale(.88)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes tw-toast-out{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-14px) scale(.92)}}@keyframes tw-toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}body.dark-mode .tw-toast{background:var(--main-auxiliary);border-color:color-mix(in srgb,var(--tw-toast-accent) 24%,color-mix(in srgb,white 10%,transparent));box-shadow:0 4px 6px #0000002e,0 12px 32px #00000047,0 0 0 1px color-mix(in srgb,var(--tw-toast-accent) 12%,transparent)}
