.calculator-site .calc-menu {
    position: relative
}

.calculator-site .calc-menu>summary {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 2px solid var(--color-border);
    border-radius: 999px;
    background: var(--color-background);
    color: var(--color-text);
    font-size: 20px;
    cursor: pointer;
    list-style: none;
    transition: border-color 160ms ease,background-color 160ms ease,color 160ms ease,box-shadow 160ms ease,transform 160ms cubic-bezier(0.2,0.8,0.2,1);
    user-select: none;
    box-sizing: border-box
}

.calculator-site .calc-menu>summary::-webkit-details-marker {
    display: none
}

.calculator-site .calc-menu>summary:hover,.calculator-site .calc-menu[open]>summary {
    border-color: var(--color-primary);
    background: var(--color-primary-soft);
    color: var(--color-primary);
    box-shadow: 0 0 0 3.5px var(--color-primary-soft),0 4px 14px -2px rgba(0,102,255,0.22);
    transform: scale(1.04)
}

[data-theme="dark"] .calculator-site .calc-menu>summary:hover,[data-theme="dark"] .calculator-site .calc-menu[open]>summary {
    border-color: var(--color-primary);
    background: rgba(0,102,255,0.18);
    box-shadow: 0 0 0 3.5px rgba(0,102,255,0.28),0 4px 16px rgba(0,0,0,0.4)
}

.calculator-site .site-header {
    z-index: 1500
}

.calculator-site .calc-menu>nav {
    position: absolute;
    right: 0;
    top: calc(100% + 14px);
    width: min(360px,calc(100vw - 20px));
    max-height: min(480px,calc(100dvh - 90px));
    padding: 8px 8px 10px;
    display: flex;
    flex-direction: column;
    border-radius: 18px;
    border: 1px solid var(--color-border);
    background: var(--color-background);
    box-shadow: 0 20px 50px -10px rgba(0,0,0,0.12),0 4px 16px -4px rgba(0,0,0,0.04);
    z-index: 2000;
    box-sizing: border-box
}

[data-theme="dark"] .calculator-site .calc-menu>nav {
    box-shadow: 0 24px 60px -10px rgba(0,0,0,0.7),0 0 0 1px var(--color-border)
}

.calc-menu .menu-hub-list {
    overflow-y: auto;
    overscroll-behavior: contain;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0;
    padding: 0;
    scrollbar-width: thin;
    scrollbar-color: var(--color-border-strong)transparent
}

.calc-menu .menu-hub {
    border-radius: 10px;
    background: transparent;
    transition: background-color 140ms ease;
    margin: 0;
    padding: 0
}

.calc-menu .menu-hub[open] {
    background: var(--color-primary-soft)
}

.calc-menu .menu-hub>summary {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 38px;
    padding: 6px 10px;
    border-radius: 9px;
    background: transparent;
    color: var(--color-text);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.35;
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: background-color 140ms ease,color 140ms ease;
    box-sizing: border-box
}

.calc-menu .menu-hub>summary::-webkit-details-marker {
    display: none
}

.calc-menu .menu-hub:not([open])>summary:hover {
    background: var(--color-surface);
    color: var(--color-primary)
}

.calc-menu .menu-hub[open]>summary {
    color: var(--color-primary);
    background: transparent
}

.calc-menu .menu-symbol {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 7px;
    background: var(--color-surface);
    color: var(--color-primary);
    font-size: 12.5px;
    font-weight: 700;
    flex-shrink: 0;
    border: 1px solid var(--color-border);
    transition: background-color 140ms ease,border-color 140ms ease,color 140ms ease
}

.calc-menu .menu-hub[open]>summary .menu-symbol {
    background: #ffffff;
    border-color: transparent;
    color: var(--color-primary);
    box-shadow: 0 1px 3px rgba(0,102,255,0.15)
}

[data-theme="dark"] .calc-menu .menu-hub[open]>summary .menu-symbol {
    background: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-primary)
}

.calc-menu .menu-hub-label {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12.5px;
    line-height: 1.3
}

.calc-menu .menu-hub-chevron {
    margin-left: auto;
    color: var(--color-muted);
    flex-shrink: 0;
    transition: transform 200ms cubic-bezier(0.2,0.8,0.2,1),color 140ms ease
}

.calc-menu .menu-hub[open] .menu-hub-chevron {
    transform: rotate(180deg);
    color: var(--color-primary)
}

.calc-menu .menu-hub-tools {
    margin: 0 4px 4px 10px;
    padding: 1px 0 2px 8px;
    border-left: 1.5px solid color-mix(in srgb,var(--color-primary)30%,transparent);
    display: flex;
    flex-direction: column;
    gap: 0
}

.calc-menu .menu-hub-tools .menu-hub-overview {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 22px;
    padding: 2px 6px;
    margin-bottom: 2px;
    border-radius: 5px;
    text-decoration: none;
    font-size: 10.5px;
    font-weight: 700;
    color: var(--color-primary);
    background: transparent;
    transition: background-color 130ms ease
}

.calc-menu .menu-hub-tools .menu-hub-overview:hover,.calc-menu .menu-hub-tools .menu-hub-overview:focus-visible {
    background: rgba(255,255,255,0.6)
}

[data-theme="dark"] .calc-menu .menu-hub-tools .menu-hub-overview:hover {
    background: rgba(255,255,255,0.08)
}

.calc-menu .overview-arrow {
    font-size: 11px;
    transition: transform 140ms ease
}

.calc-menu .menu-hub-overview:hover .overview-arrow {
    transform: translateX(3px)
}

.calc-menu .menu-hub-tools a:not(.menu-hub-overview) {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 23px;
    padding: 2px 6px;
    border-radius: 5px;
    text-decoration: none;
    font-size: 11.5px;
    font-weight: 550;
    color: var(--color-text);
    background: transparent;
    transition: background-color 130ms ease,color 130ms ease
}

.calc-menu .tool-dot {
    width: 3.5px;
    height: 3.5px;
    border-radius: 50%;
    background: var(--color-border-strong);
    flex-shrink: 0;
    transition: background-color 130ms ease,transform 130ms ease
}

.calc-menu .tool-name {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.calc-menu .menu-hub-tools a:not(.menu-hub-overview):hover,.calc-menu .menu-hub-tools a:not(.menu-hub-overview):focus-visible {
    background: rgba(255,255,255,0.7);
    color: var(--color-primary)
}

[data-theme="dark"] .calc-menu .menu-hub-tools a:not(.menu-hub-overview):hover {
    background: rgba(255,255,255,0.1);
    color: var(--color-text)
}

.calc-menu .menu-hub-tools a:not(.menu-hub-overview):hover .tool-dot {
    background: var(--color-primary);
    transform: scale(1.3)
}

.calc-menu nav .menu-hub-tools a[aria-current="page"] {
    background: #ffffff !important;
    color: var(--color-primary) !important;
    font-weight: 700 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05)
}

[data-theme="dark"] .calc-menu nav .menu-hub-tools a[aria-current="page"] {
    background: var(--color-surface) !important;
    color: var(--color-primary) !important
}

.calc-menu nav .menu-hub-tools a[aria-current="page"] .tool-dot {
    background: var(--color-primary);
    transform: scale(1.4)
}

.calc-menu .menu-footer {
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid var(--color-border);
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex-shrink: 0
}

.calc-menu .menu-quick-links {
    display: flex;
    flex-direction: column;
    gap: 2px
}

.calc-menu .menu-footer-link {
    display: block;
    padding: 4px 8px;
    color: var(--color-text);
    text-decoration: none;
    font-size: 11.5px;
    font-weight: 600;
    border-radius: 6px;
    transition: color 130ms ease,background-color 130ms ease
}

.calc-menu .menu-footer-link:hover,.calc-menu .menu-footer-link:focus-visible {
    color: var(--color-primary);
    background: var(--color-surface)
}

.calc-menu .language-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 4px;
    border-top: 1px dashed var(--color-border)
}

.calc-menu .language-bar-title {
    font-size: 10.5px;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-muted)
}

.calc-menu .language-bar-options {
    display: flex;
    align-items: center;
    gap: 6px
}

.calc-menu .lang-flag-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    aspect-ratio: 1 / 1;
    border-radius: 50% !important;
    border: 2px solid transparent;
    padding: 0 !important;
    margin: 0;
    box-sizing: border-box;
    cursor: default;
    transition: transform 140ms ease,border-color 140ms ease,box-shadow 140ms ease
}

.calc-menu .lang-flag-btn .language-flag {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    aspect-ratio: 1 / 1;
    border-radius: 50% !important;
    display: block;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.12);
    box-shadow: 0 1px 2px rgba(0,0,0,0.06);
    box-sizing: border-box
}

.calc-menu .lang-flag-btn .language-flag svg {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 50%;
    object-fit: cover
}

.calc-menu .lang-flag-btn.is-current {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 2px var(--color-primary-soft);
    background: transparent
}

.calc-menu .lang-flag-btn.is-planned {
    opacity: 0.45;
    filter: grayscale(0.5);
    cursor: not-allowed
}

[data-theme="dark"] .calc-menu .lang-flag-btn .language-flag {
    border-color: rgba(255,255,255,0.16)
}

.calc-menu summary:focus-visible,.calc-menu nav a:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: -2px
}

@media(max-width:480px) {
    .calculator-site .calc-menu>nav {
        width: min(390px,calc(100vw - 20px));
        max-height: calc(100dvh - 84px);
        padding: 12px 10px 10px;
        border-radius: 16px;
        top: calc(100% + 12px)
    }

    .calc-menu .menu-hub>summary {
        min-height: 40px;
        padding: 6px 10px;
        font-size: 12.5px
    }
}