body {
    margin: 0;
    font-family: var(--ui-font-family);
    background: var(--bg);
    color: var(--ui-body-text);
}

#app {
    max-width: 500px;
    margin: 60px auto;
    padding: 24px;
}

#app > div {
    padding: 24px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

#app h2 {
    margin-top: 0;
    color: var(--ui-title-text);
    font-size: var(--ui-page-title-size);
    font-weight: var(--ui-page-title-weight);
}

#app h3 {
    color: var(--ui-title-text);
    font-size: var(--ui-section-title-size);
    font-weight: var(--ui-section-title-weight);
}

#app p {
    line-height: 1.7;
}

#app button,
#app input,
#app textarea,
#app select {
    box-sizing: border-box;
    border: 1px solid var(--ui-border-control);
    border-radius: var(--ui-radius-control);
    background: var(--surface);
    color: var(--text);
    font: inherit;
    font-family: var(--ui-font-family);
    font-size: var(--ui-control-font-size);
    font-weight: var(--ui-control-font-weight);
}

#app button {
    min-height: 42px;
    margin-top: 12px;
    margin-right: 6px;
    padding: 9px 12px;
    background: var(--ui-action-quiet-bg);
    line-height: 1.25;
    vertical-align: middle;
    cursor: pointer;
}

#app .action-primary {
    border-color: var(--ui-action-primary-border);
    background: var(--ui-action-primary-bg);
    color: var(--ui-action-primary-text);
    font-size: var(--ui-action-font-size);
    font-weight: var(--ui-action-primary-weight);
}

#app .action-secondary {
    border-color: var(--ui-action-secondary-border);
    background: var(--ui-action-secondary-bg);
    color: var(--ui-action-secondary-text);
    font-size: var(--ui-action-font-size);
    font-weight: var(--ui-action-secondary-weight);
}

#app .action-quiet {
    border-color: var(--ui-action-quiet-border);
    background: var(--ui-action-quiet-bg);
    color: var(--ui-action-quiet-text);
    font-size: var(--ui-action-font-size);
}

#app .action-text {
    width: auto;
    min-height: 0;
    padding: 5px 2px;
    border-color: transparent;
    background: transparent;
    color: var(--ui-action-text);
    font-size: var(--ui-action-text-font-size);
}

#app .control-quiet {
    border-color: transparent;
    background: transparent;
    color: var(--ui-muted-text);
}

#app .selectable-control {
    border-color: var(--ui-border-control);
    background: var(--ui-control-bg);
    color: var(--text);
}

#app .selectable-control.selected {
    border: 1px solid var(--ui-selected-border);
    background: var(--ui-selected-bg);
    font-weight: var(--ui-selected-weight);
}

#app .danger-button {
    border-color: var(--danger-border);
    background: var(--danger-bg);
    color: var(--danger-text);
}

#app .danger-button:hover {
    background: var(--danger-hover);
}

#app input {
    min-height: 42px;
    padding: 9px 12px;
}

#app select {
    min-height: var(--ui-select-height);
    padding: var(--ui-select-padding);
    color: var(--ui-select-text);
}

#app textarea {
    padding: 12px 14px;
    line-height: 1.5;
}

#app button.selected,
#app select:focus,
#app input:focus,
#app textarea:focus {
    outline: 2px solid var(--selected);
    outline-offset: 2px;
}

#app article,
.verse-card,
.passage-editor-step {
    border: 1px solid var(--ui-border-section);
    border-radius: var(--ui-radius-paper);
    background: var(--ui-section-bg);
    box-shadow: none;
}

#app article {
    margin-top: 8px;
    padding: 10px 14px;
}

#app article h3 {
    margin: 0 0 6px;
}

#app article p {
    margin: 0;
}

#app label {
    color: var(--ui-label-text);
    font-size: var(--ui-label-size);
    font-weight: var(--ui-label-weight);
}

#app small,
#app .help {
    color: var(--ui-muted-text);
}

#app .help {
    font-size: var(--ui-help-size);
    font-weight: 400;
    line-height: var(--ui-help-line-height);
}

#app .selection-prompt {
    color: var(--ui-label-text);
    font-size: var(--ui-prompt-size);
    font-weight: var(--ui-prompt-weight);
}

#app .status-message {
    color: var(--ui-muted-text);
    font-size: var(--ui-status-size);
    font-weight: 400;
    line-height: var(--ui-status-line-height);
}

@media (max-width: 520px) {
    #app {
        box-sizing: border-box;
        width: 100%;
        max-width: none;
        min-height: 100vh;
        min-height: 100dvh;
        margin: 0 auto;
        padding: 14px;
    }

    #app > div {
        padding-top: max(
            clamp(14px, 4vw, 22px),
            env(safe-area-inset-top, 0px)
        );
        padding-right: 0;
        padding-bottom: 8px;
        padding-left: 0;
    }
}
