/* 크론 표현식 해석기 */
.cr-input {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 1.125rem; letter-spacing: .04em;
}
.cr-fieldmap { display: flex; gap: .5rem; margin-top: .5rem; flex-wrap: wrap; }
.cr-fieldmap span {
    flex: 1 1 4.5rem; min-width: 4.5rem; text-align: center;
    padding: .25rem .375rem; border-radius: var(--radius-sm, 6px);
    background: var(--surface-2, #f1f3f7); border: 1px solid var(--border-color, #e5e8ed);
}
.cr-fieldmap b { display: block; font-size: var(--text-ui-sm, .8125rem); }
.cr-fieldmap i { display: block; font-style: normal; font-size: .75rem; color: var(--text-muted, #626977); }

.cr-meaning {
    font-size: 1.0625rem; font-weight: 600; line-height: 1.6;
    padding: .75rem; border-radius: var(--radius-sm, 6px);
    background: var(--accent-soft, #eef3fd); color: var(--accent-text, #2c56b8);
}
.cr-breakdown { list-style: none; margin: var(--spacing-md, 1rem) 0 0; padding: 0; }
.cr-breakdown li {
    display: grid; grid-template-columns: 3rem 6rem 1fr; gap: .5rem; align-items: center;
    padding: .375rem 0; border-bottom: 1px solid var(--border-subtle, #eef0f4);
    font-size: var(--text-sm, .875rem);
}
.cr-breakdown li:last-child { border-bottom: 0; }
.cr-breakdown code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    background: var(--surface-2, #f1f3f7); padding: .125rem .375rem;
    border-radius: 4px; text-align: center;
}
.cr-breakdown span { color: var(--text-secondary, #3d434d); }

.cr-next { margin: 0; padding-left: 1.25rem; }
.cr-next li { padding: .3125rem 0; font-size: var(--text-sm, .875rem); }
.cr-time { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.cr-rel { margin-left: .5rem; color: var(--text-muted, #626977); font-size: var(--text-ui-sm, .8125rem); }
.cr-tz { font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }
.cr-hint {
    margin: var(--spacing-md, 1rem) 0 0; padding: .5rem .75rem;
    background: var(--warning-soft, #fdf0e3); color: var(--warning-text, #96521f);
    border-radius: var(--radius-sm, 6px); font-size: var(--text-ui-sm, .8125rem); line-height: 1.6;
}
.cr-alert { margin-top: var(--spacing-md, 1rem); }

.cr-presets { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .5rem; }
.cr-preset {
    display: flex; flex-direction: column; gap: .125rem; text-align: left;
    padding: .5rem .625rem; cursor: pointer;
    border: 1px solid var(--border-color, #e5e8ed); border-radius: var(--radius-sm, 6px);
    background: var(--bg-surface, #fff);
    transition: border-color .15s ease, background-color .15s ease;
}
.cr-preset:hover, .cr-preset:focus-visible { border-color: var(--accent-primary, #3b6fe0); background: var(--accent-soft, #eef3fd); outline: none; }
.cr-preset code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: var(--text-sm, .875rem); }
.cr-preset span { font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }

@media (max-width: 768px) {
    .cr-breakdown li { grid-template-columns: 2.5rem 5rem 1fr; }
}
