* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    margin: 0;
    min-height: 100vh;
    overflow-x: hidden;
    color: var(--ink);
    background: var(--soft);
    font-family: Inter, Arial, Helvetica, sans-serif;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    cursor: pointer;
}

button:disabled {
    cursor: not-allowed;
    opacity: 0.65;
}

img {
    display: block;
    max-width: 100%;
}

.hidden {
    display: none !important;
}

.mobile-only {
    display: none !important;
}

.feedback {
    min-height: 20px;
    margin: 0;
    color: var(--danger);
    font-size: 0.92rem;
}

.muted {
    color: var(--muted);
}

.empty-state {
    display: grid;
    gap: 8px;
    padding: 26px;
    border: 1px dashed var(--line-strong);
    border-radius: var(--radius-lg);
    color: var(--muted);
    background: rgba(255, 255, 255, 0.72);
    text-align: center;
}
