main#main .real-calculator {
    max-width:440px;
    margin:12px auto 24px;
    padding:16px;
    background:var(--vf-ds-bg-subtle);
    border:1px solid var(--vf-ds-border);
    border-radius:10px;
}
main#main .calculator-screen {
    min-height:72px;
    padding:8px;
    margin-bottom:12px;
    text-align:right;
    background:var(--vf-ds-bg-surface);
    border:1px solid var(--vf-ds-border);
    border-radius:10px;
}
main#main #calc-operation {
    min-height:24px;
    font-size:15px;
    overflow-wrap:anywhere;
}
main#main #calc-result {
    display:block;
    font-size:28px;
    font-weight:600;
    overflow-wrap:anywhere;
}
main#main #calc-error:empty {
    display:none;
}
main#main #calc-error {
    color:var(--vf-ds-warning);
}
main#main .calculator-keys,main#main .scientific-keys {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin:0;
}
main#main .calculator-keys button,main#main .scientific-keys button {
    min-height:48px;
    height:auto;
    min-width:0;
    padding:8px;
    font-size:18px;
}
main#main #calc-history button {
    height:auto;
    min-height:48px;
    white-space:normal;
    text-align:left;
}
main#main .f4-bar {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:16px 0 24px;
}
main#main .f4-door {
    padding:16px;
    border:1px solid var(--vf-ds-border);
    border-radius:10px;
}
main#main .f4-buttons {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
main#main .f4-buttons a {
    font-size:14px;
    text-decoration:none;
}
@media(max-width:640px) {
    main#main .f4-bar {
        grid-template-columns:1fr;
    }
}

main#main .calculator-settings {
    display:grid;
    gap:12px;
    margin-bottom:12px;
}
main#main .calculator-keyboards {
    display:grid;
    gap:12px;
    margin-bottom:12px;
}
main#main #calc-memory {
    margin:8px 0 0;
    font-size:13px;
}
main#main .real-calculator>details {
    margin-bottom:8px;
}
main#main .real-calculator>.note {
    margin:0;
}
@media(min-width:900px) {
    main#main .real-calculator:has([data-calc-view="cientifica"][aria-pressed="true"]) {
        max-width:960px;
    }
    main#main .calculator-settings {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    main#main .real-calculator:has([data-calc-view="cientifica"][aria-pressed="true"]) .calculator-keyboards {
        grid-template-columns:minmax(0,5fr) minmax(0,4fr);
        align-items:start;
    }
    main#main .real-calculator:has([data-calc-view="cientifica"][aria-pressed="true"]) .calculator-keys {
        grid-column:2;
        grid-row:1;
    }
    main#main #calc-scientific {
        grid-column:1;
        grid-row:1;
    }
    main#main .scientific-keys {
        grid-template-columns:repeat(5,minmax(0,1fr));
    }
    main#main .calculator-keys,main#main .scientific-keys {
        gap:6px;
    }
}

main#main .calculator-settings button {
    min-height:36px;
    padding:6px 12px;
}
main#main .calculator-settings button[aria-pressed="true"] {
    background:var(--vf-ds-text-primary);
    color:var(--vf-ds-bg-surface);
}
main#main .more-calculators {
    margin:24px 0;
}
main#main .more-calculators>section {
    margin:16px 0;
}
main#main .more-calculator-cards {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
main#main .more-calculator-card {
    display:grid;
    grid-template-columns:18px minmax(0,1fr);
    gap:8px;
    padding:16px;
    border:1px solid var(--vf-ds-border);
    border-radius:10px;
    color:inherit;
    text-decoration:none;
}
main#main .more-calculator-icon {
    font-size:18px;
}
main#main .more-calculator-card strong {
    font-size:15px;
    font-weight:600;
}
main#main .more-calculator-description {
    grid-column:2;
    font-size:13px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
@media(max-width:1023px) {
    main#main .more-calculator-cards {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:599px) {
    main#main .more-calculator-cards {
        grid-template-columns:1fr;
    }
}
