/**
 * 이 파일은 자동으로 번들링된 파일입니다.
 *
 * @file core.css
 * @cached 2026-09-29T15:27:44+09:00 (0.00232100ms)
 */
/* /app/resources/styles/Application.css */
:root {
    --im-font-family-default: 'SUIT Variable';
    --im-font-family-head: 'SUITE Variable';
    --im-font-family-numeric: 'SUIT Variable';
    --im-font-family-monospace: 'Roboto Mono';
    --im-font-size-display1: 5rem; /* 80px */
    --im-font-size-display2: 4.5rem; /* 72px */
    --im-font-size-display3: 4rem; /* 64px */
    --im-font-size-display4: 3.5rem; /* 56px */
    --im-font-size-display5: 3rem; /* 48px */
    --im-font-size-display6: 2.5rem; /* 40px */
    --im-font-size-h1: 2.5rem; /* 40px */
    --im-font-size-h2: 2rem; /* 32px */
    --im-font-size-h3: 1.75rem; /* 28px */
    --im-font-size-h4: 1.5rem; /* 24px */
    --im-font-size-h5: 1.25rem; /* 20px */
    --im-font-size-h6: 1rem; /* 16px */
    --im-font-size-extra-large: 1.125rem; /* 18px */
    --im-font-size-large: 1rem; /* 16px */
    --im-font-size-default: 0.875rem; /* 14px */
    --im-font-size-small: 0.75rem; /* 12px */
    --im-container-width: 1280px;
    --im-container-padding-inline: 20px;
    --im-container-padding-block: 0;
    --im-component-gap-extra-large: 1rem; /* 16px */
    --im-component-gap-large: 0.75rem; /* 12px */
    --im-component-gap-default: 0.625rem; /* 10px */
    --im-component-gap-small: 0.5rem; /* 8px */
    --im-component-gap-extra-small: 0.25rem; /* 4px */
    --im-component-padding-extra-large: 3rem; /* 48px */
    --im-component-padding-large: 2.25rem; /* 36px */
    --im-component-padding-default: 2rem; /* 32px */
    --im-component-padding-small: 1.5rem; /* 24px */
    --im-component-padding-extra-small: 1.25rem; /* 20px */
    --im-component-border-weight: 1px;
    --im-component-border-radius: 0px;
    --im-component-border-radius-inner: 0px;
    --im-component-height-default: 2.5rem;
    --im-component-height-large: 3rem;
    --im-component-line-height: 1.25rem;
    --im-component-font-size-default: var(--im-font-size-default);
    --im-component-font-size-small: var(--im-font-size-small);
    --im-layout-sticky-offset: 0px;
    --im-line-height-default: 1.4;
    --im-white-primary: rgba(255, 255, 255, 1);
    --im-white-secondary: rgba(255, 255, 255, 0.7);
    --im-white-tertiary: rgba(255, 255, 255, 0.4);
    --im-white-quaternary: rgba(255, 255, 255, 0.2);
    --im-black-primary: rgba(0, 0, 0, 1);
    --im-black-secondary: rgba(0, 0, 0, 0.7);
    --im-black-tertiary: rgba(0, 0, 0, 0.4);
    --im-black-quaternary: rgba(0, 0, 0, 0.2);
    --im-bg-primary: #ffffff;
    --im-bg-secondary: #f9f9f9;
    --im-bg-tertiary: #f3f3f3;
    --im-bg-quaternary: #ededed;
    --im-bg-primary-alpha: rgba(255, 255, 255, 0.92);
    --im-bg-secondary-alpha: rgba(255, 255, 255, 0.85);
    --im-bg-tertiary-alpha: rgba(255, 255, 255, 0.78);
    --im-bg-quaternary-alpha: rgba(255, 255, 255, 0.7);
    --im-fill-primary: #cccccc;
    --im-fill-secondary: #d9d9d9;
    --im-fill-tertiary: #e5e5e5;
    --im-fill-quaternary: #f2f2f2;
    --im-fill-primary-alpha: rgba(0, 0, 0, 0.2);
    --im-fill-secondary-alpha: rgba(0, 0, 0, 0.16);
    --im-fill-tertiary-alpha: rgba(0, 0, 0, 0.08);
    --im-fill-quaternary-alpha: rgba(0, 0, 0, 0.04);
    --im-text-primary: #212121;
    --im-text-secondary: #666666;
    --im-text-tertiary: #8c8c8c;
    --im-text-quaternary: #b2b2b2;
    --im-text-primary-alpha: rgba(0, 0, 0, 0.87);
    --im-text-secondary-alpha: rgba(0, 0, 0, 0.6);
    --im-text-tertiary-alpha: rgba(0, 0, 0, 0.45);
    --im-text-quaternary-alpha: rgba(0, 0, 0, 0.3);
    --im-border-primary: #c6c6c8;
    --im-border-secondary: #d6d6d8;
    --im-border-tertiary: #e5e5e7;
    --im-border-quaternary: #f5f5f7;
    --im-border-primary-alpha: rgba(0, 0, 0, 0.24);
    --im-border-secondary-alpha: rgba(0, 0, 0, 0.12);
    --im-border-tertiary-alpha: rgba(0, 0, 0, 0.08);
    --im-border-quaternary-alpha: rgba(0, 0, 0, 0.04);
    --im-selection-primary: #dae5f2;
    --im-selection-secondary: #e3edf8;
    --im-selection-tertiary: #edf4fb;
    --im-selection-quaternary: #f5f9fd;
    --im-mark-primary: #f8e6b0;
    --im-mark-secondary: #faefc6;
    --im-mark-tertiary: #fcf5da;
    --im-mark-quaternary: #fefbf0;
    --im-accent-primary: #0a84ff;
    --im-accent-secondary: #338ff9;
    --im-accent-tertiary: #66aafc;
    --im-accent-quaternary: #99c5fd;
    --im-beginning-primary: #14ae5c;
    --im-beginning-secondary: #3ccf7a;
    --im-beginning-tertiary: #8fddb6;
    --im-beginning-quaternary: #d6f3e4;
    --im-brand-primary: #6d56fb;
    --im-brand-secondary: #8572fc;
    --im-brand-tertiary: #b4a9fe;
    --im-brand-quaternary: #e3e0ff;
    --im-danger-primary: #dc3535;
    --im-danger-secondary: #e85b5b;
    --im-danger-tertiary: #f3a3a3;
    --im-danger-quaternary: #fde2e2;
    &[data-color-scheme='dark'],
    &[data-color-scheme='auto'][data-prefers-color-scheme='dark'] {
        --im-bg-primary: #000000;
        --im-bg-secondary: #0e0e10;
        --im-bg-tertiary: #1c1c1e;
        --im-bg-quaternary: #2c2c2e;
        --im-bg-primary-alpha: rgba(0, 0, 0, 0.92);
        --im-bg-secondary-alpha: rgba(14, 14, 16, 0.85);
        --im-bg-tertiary-alpha: rgba(28, 28, 30, 0.78);
        --im-bg-quaternary-alpha: rgba(44, 44, 46, 0.7);
        --im-fill-primary: #333333;
        --im-fill-secondary: #262626;
        --im-fill-tertiary: #1a1a1a;
        --im-fill-quaternary: #0d0d0d;
        --im-fill-primary-alpha: rgba(255, 255, 255, 0.2);
        --im-fill-secondary-alpha: rgba(255, 255, 255, 0.18);
        --im-fill-tertiary-alpha: rgba(255, 255, 255, 0.16);
        --im-fill-quaternary-alpha: rgba(255, 255, 255, 0.12);
        --im-text-primary: #ffffff;
        --im-text-secondary: #999999;
        --im-text-tertiary: #737373;
        --im-text-quaternary: #4c4c4c;
        --im-text-primary-alpha: rgba(255, 255, 255, 1);
        --im-text-secondary-alpha: rgba(255, 255, 255, 0.6);
        --im-text-tertiary-alpha: rgba(255, 255, 255, 0.48);
        --im-text-quaternary-alpha: rgba(255, 255, 255, 0.3);
        --im-border-primary: #38383a;
        --im-border-secondary: #2c2c2e;
        --im-border-tertiary: #212123;
        --im-border-quaternary: #151517;
        --im-border-primary-alpha: rgba(255, 255, 255, 0.24);
        --im-border-secondary-alpha: rgba(255, 255, 255, 0.12);
        --im-border-tertiary-alpha: rgba(255, 255, 255, 0.08);
        --im-border-quaternary-alpha: rgba(255, 255, 255, 0.06);
        --im-selection-primary: #2a3a4d;
        --im-selection-secondary: #223245;
        --im-selection-tertiary: #1b2a3c;
        --im-selection-quaternary: #142233;
        --im-mark-primary: #4a3f2a;
        --im-mark-secondary: #3f3525;
        --im-mark-tertiary: #332b20;
        --im-mark-quaternary: #292219;
        --im-accent-primary: #3b8fe6;
        --im-accent-secondary: #2476d9;
        --im-accent-tertiary: #155fbf;
        --im-accent-quaternary: #0d4a99;
        --im-beginning-primary: #2fbf79;
        --im-beginning-secondary: #1ea664;
        --im-beginning-tertiary: #15864f;
        --im-beginning-quaternary: #0f6a3e;
        --im-brand-primary: #8d7ef0;
        --im-brand-secondary: #7462e6;
        --im-brand-tertiary: #5b49cf;
        --im-brand-quaternary: #4636a8;
        --im-danger-primary: #e85a5a;
        --im-danger-secondary: #d94444;
        --im-danger-tertiary: #b93232;
        --im-danger-quaternary: #8f2424;
    }
    font-size: 16px;
    font-family: var(--im-font-family-default);
}
* {
    padding: 0px;
    margin: 0px;
    outline: none;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}
body {
    background-color: var(--im-bg-primary);
    color: var(--im-text-primary);
    font-family: var(--im-font-family-default);
    input,
    textarea,
    select {
        font-family: inherit;
        font-size: inherit;
        border-radius: 0;
        outline: none;
        &[type='search'] {
            -webkit-appearance: none;
            &::-webkit-search-decoration {
                -webkit-appearance: none;
            }
        }
    }
    button,
    a {
        font-family: inherit;
        font-size: inherit;
        color: inherit;
        cursor: pointer;
        text-decoration: none;
        outline: none;
    }
    a[disabled] {
        &:active {
            pointer-events: none;
        }
    }
    mark {
        background: var(--im-mark-primary);
    }
}
body {
    &[data-frame='site'] {
        div[data-role='container'] {
            container: container / inline-size;
            margin: 0 auto;
            width: calc(100vw - var(--im-container-padding-inline) * 2);
            max-width: var(--im-container-width);
            padding-block: var(--im-container-padding-block);
        }
        main[data-role='layout'] {
            container-name: main;
            container-type: inline-size;
            div[data-role='content'] {
                container-name: content;
                container-type: inline-size;
            }
            div[data-role='module'] {
                container-name: module;
                container-type: inline-size;
            }
            div[data-role='widget'] {
                container: widget / inline-size;
            }
        }
        > div[data-role='disabled'] {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            backdrop-filter: blur(5px);
            -webkit-backdrop-filter: blur(5px);
            &::before {
                position: fixed;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: var(--im-bg-tertiary);
                opacity: 0.7;
                content: ' ';
                z-index: -1;
            }
            z-index: 100000;
            &:has(> div[data-role='text']) {
                display: flex;
                justify-content: center;
                align-items: center;
            }
            > div[data-role='text'] {
                max-width: 500px;
                padding: var(--im-component-gap-large);
                font-size: var(--im-component-font-size-default);
                color: var(--im-text-secondary);
                line-height: var(--im-component-line-height);
            }
        }
        &[data-role='preview'] {
            &[data-preview='page'] {
                > header,
                > footer {
                    display: none;
                }
            }
        }
    }
}

/* /app/resources/styles/Exceptions.css */
body {
    main[data-type='error'] {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: 100%;
        height: fit-content;
        padding: 50px 15px;
        box-sizing: border-box;
        > section {
            width: 100%;
            max-width: 500px;
            border: 1px solid var(--im-border-secondary);
            background: var(--im-bg-primary);
            flex-grow: 0;
            flex-shrink: 0;
            &[data-debug] {
                max-width: 1000px;
            }
            &[data-role='message'] {
                padding: 24px;
                > h4 {
                    font-size: 20px;
                    margin-bottom: 24px;
                    padding-bottom: 16px;
                    color: var(--im-text-primary);
                    border-bottom: 1px solid var(--im-border-secondary);
                    font-weight: bold;
                }
                > b {
                    display: block;
                    color: var(--im-error-text-primary);
                    font-size: 16px;
                    line-height: 1.4;
                }
                > small {
                    display: block;
                    margin-top: 16px;
                    color: var(--im-error-text-tertiary);
                    font-size: 14px;
                    word-break: break-all;
                    line-height: 1.4;
                }
            }
            &[data-role='debug'] {
                margin-top: 24px;
                > aside {
                    display: flex;
                    width: 100%;
                    height: 48px;
                    background: var(--im-error-accent-primary);
                    align-items: center;
                    justify-content: center;
                    > button {
                        display: block;
                        height: 40px;
                        line-height: 40px;
                        color: var(--im-error-accent-backward-primary);
                        cursor: pointer;
                        padding: 0 16px;
                        border: 0;
                        background: transparent;
                        border-radius: 3px;
                        font-size: 14px;
                        &.selected {
                            background: var(--im-error-accent-secondary);
                            color: var(--im-error-accent-backward-secondary);
                        }
                    }
                }
                > article {
                    > div {
                        &:not(.selected) {
                            display: none !important;
                        }
                        &[data-tab='trace'] {
                            display: flex;
                            align-items: stretch;
                            > aside {
                                width: 300px;
                                flex-shrink: 0;
                                z-index: 1;
                                background: var(--im-bg-primary);
                                border-right: 1px solid var(--im-border-secondary);
                                > button {
                                    display: block;
                                    width: 100%;
                                    background: transparent;
                                    border: 0;
                                    padding: 14px 14px 14px 54px;
                                    text-align: left;
                                    cursor: pointer;
                                    position: relative;
                                    border-bottom: 1px solid var(--im-bg-quaternary);
                                    &::after {
                                        content: ' ';
                                        position: absolute;
                                        top: 0;
                                        left: 40px;
                                        width: 2px;
                                        height: 100%;
                                        background: var(--im-bg-quaternary);
                                    }
                                    > label {
                                        display: block;
                                        font-size: 14px;
                                        color: var(--im-error-text-secondary);
                                        line-height: 1.4;
                                        word-break: break-all;
                                        margin-bottom: 10px;
                                    }
                                    > p {
                                        display: flex;
                                        align-items: flex-end;
                                        position: relative;
                                        > b {
                                            flex-grow: 1;
                                            font-size: 14px;
                                            line-height: 20px;
                                            color: var(--im-error-text-tertiary);
                                            word-break: break-all;
                                            > small {
                                                font-size: 12px;
                                                display: block;
                                            }
                                        }
                                        > small {
                                            flex-basis: auto;
                                            background: var(--im-border-secondary);
                                            color: var(--im-text-primary);
                                            height: 20px;
                                            line-height: 20px;
                                            padding: 0px 4px;
                                            border-radius: 3px;
                                            font-size: 12px;
                                        }
                                        > i {
                                            position: absolute;
                                            top: 0;
                                            left: -54px;
                                            width: 40px;
                                            height: 20px;
                                            line-height: 20px;
                                            font-style: normal;
                                            color: var(--im-error-text-tertiary);
                                            font-weight: bold;
                                            font-size: 12px;
                                            text-align: center;
                                        }
                                    }
                                    &.selected {
                                        background: var(--im-error-background-tertiary);
                                        &::after {
                                            background: var(--im-error-background-primary);
                                        }
                                    }
                                }
                            }
                            > div {
                                flex-grow: 1;
                                > div[data-index] {
                                    &:not(.selected) {
                                        display: none;
                                    }
                                    > ul {
                                        list-style: none;
                                        width: 100%;
                                        > li {
                                            width: 100%;
                                            display: flex;
                                            align-items: stretch;
                                            > small {
                                                flex-basis: 50px;
                                                font-size: 12px;
                                                background: var(--im-bg-tertiary);
                                                border-right: 1px solid var(--im-border-secondary);
                                                line-height: 20px;
                                                flex-shrink: 0;
                                                text-align: right;
                                                padding-right: 8px;
                                                font-family: 'Nanum Gothic Coding', monospace;
                                                color: var(--im-text-secondary);
                                            }
                                            > pre {
                                                line-height: 20px;
                                                word-break: break-all;
                                                width: 100%;
                                                white-space: pre-wrap;
                                                padding: 0px 8px;
                                                font-family: 'Nanum Gothic Coding', monospace;
                                                font-size: 14px;
                                            }
                                            &.file {
                                                display: block;
                                                box-sizing: border-box;
                                                background: var(--im-bg-quaternary);
                                                padding: 10px 20px;
                                                border-bottom: 1px solid var(--im-border-secondary);
                                                > label {
                                                    display: block;
                                                    font-size: 14px;
                                                    color: var(--im-error-text-tertiary);
                                                    line-height: 1.4;
                                                    word-break: break-all;
                                                    margin-bottom: 10px;
                                                    word-break: break-all;
                                                }
                                                > b {
                                                    display: block;
                                                    font-weight: normal;
                                                    color: var(--im-error-text-secondary);
                                                    font-size: 16px;
                                                    word-break: break-all;
                                                }
                                            }
                                            &.focus {
                                                > small {
                                                    background: var(--im-error-background-secondary);
                                                }
                                                > pre {
                                                    background: var(--im-error-background-tertiary);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                &[data-tab='trace'] {
                    > aside {
                        > button[data-tab='trace'] {
                            background: var(--im-error-accent-secondary);
                            color: var(--im-error-accent-backward-secondary);
                        }
                    }
                }
            }
        }
    }
}

/* /app/resources/styles/Fields.css */
body {
    &[data-frame='site'],
    &[data-frame='context'] {
        a[data-role='button'],
        button[data-role='button'] {
            --im-button-background-default: var(--im-bg-tertiary);
            --im-button-background-hover: var(--im-bg-quaternary);
            --im-button-background-disabled: var(--im-bg-quaternary);
            --im-button-border-default: var(--im-border-secondary);
            --im-button-border-separator: var(--im-border-secondary);
            --im-button-color-default: var(--im-text-primary);
            &.confirm,
            &.pressed {
                --im-button-background-default: var(--im-accent-primary);
                --im-button-background-hover: var(--im-accent-primary);
                --im-button-background-disabled: var(--im-accent-primary);
                --im-button-border-default: transparent;
                --im-button-border-separator: var(--im-accent-primary);
                --im-button-color-default: var(--im-white-primary);
            }
            &.danger {
                --im-button-background-default: var(--im-danger-primary);
                --im-button-background-hover: var(--im-danger-primary);
                --im-button-background-disabled: var(--im-danger-primary);
                --im-button-border-default: transparent;
                --im-button-border-separator: var(--im-danger-primary);
                --im-button-color-default: var(--im-white-primary);
            }
            &.action {
                --im-button-background-default: var(--im-brand-primary);
                --im-button-background-hover: var(--im-brand-primary);
                --im-button-background-disabled: var(--im-brand-primary);
                --im-button-border-default: transparent;
                --im-button-border-separator: var(--im-brand-primary);
                --im-button-color-default: var(--im-white-primary);
            }
            &.begining {
                --im-button-background-default: var(--im-beginning-primary);
                --im-button-background-hover: var(--im-beginning-primary);
                --im-button-background-disabled: var(--im-beginning-primary);
                --im-button-border-default: transparent;
                --im-button-border-separator: var(--im-beginning-primary);
                --im-button-color-default: var(--im-white-primary);
            }
            height: var(--im-component-height-default);
            font-family: var(--im-component-font-family);
            font-size: var(--im-component-font-size-default);
            line-height: var(--im-component-line-height);
            color: var(--im-button-color-default);
            border: var(--im-component-border-weight) solid var(--im-button-border-default);
            border-radius: var(--im-component-border-radius);
            padding: calc((var(--im-component-height-default) - 1lh) / 2 - var(--im-component-border-weight) * 2);
            position: relative;
            cursor: pointer;
            background: var(--im-button-background-default);
            overflow: hidden;
            z-index: 0;
            &:has(> i):has(> span) {
                display: inline-flex;
                flex-direction: row;
                gap: var(--im-component-gap-small);
                > i {
                    width: var(--im-component-line-height);
                    height: var(--im-component-line-height);
                }
            }
            &:hover {
                background: var(--im-button-background-hover);
            }
            &[disabled] {
                cursor: not-allowed;
                opacity: 0.6;
                background: var(--im-button-background-disabled) !important;
                &.loading {
                    position: relative;
                    &::before {
                        position: absolute;
                        width: 100%;
                        height: 100%;
                        background: var(--im-button-background-disabled) !important;
                        z-index: 1;
                        content: ' ';
                        top: 0;
                        left: 0;
                    }
                    &::after {
                        position: absolute;
                        height: 100%;
                        aspect-ratio: 1;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        top: 0;
                        left: 50%;
                        translate: -50% 0;
                        font-family: moimz;
                        content: '\efff';
                        z-index: 5;
                        color: inherit;
                        animation: mi-loading 2s infinite linear;
                    }
                }
            }
        }
        div[data-role='buttons'] {
            display: flex;
            flex-direction: row;
            align-items: stretch;
            justify-content: center;
            gap: var(--im-component-gap-small);
            &.left {
                justify-content: flex-start;
            }
            &.center {
                justify-content: center;
            }
            &.right {
                justify-content: right;
            }
            > span[data-role='space'] {
                flex-grow: 1;
            }
        }
        div[data-role='field'] {
            > div[data-role='help'] {
                display: block;
                padding-block: var(--im-component-gap-small);
                color: var(--im-text-secondary);
                font-family: var(--im-component-font-family);
                font-size: var(--im-component-font-size-small);
                box-sizing: border-box;
            }
            > input,
            > textarea {
                width: 100%;
                height: var(--im-component-height-default);
                font-family: var(--im-component-font-family);
                font-size: var(--im-component-font-size-default);
                line-height: var(--im-component-line-height);
                color: var(--im-text-primary);
                background: var(--im-bg-primary);
                border: var(--im-component-border-weight) solid var(--im-bg-quaternary);
                border-radius: var(--im-component-border-radius);
                padding: calc((var(--im-component-height-default) - 1lh) / 2 - var(--im-component-border-weight) * 2);
                resize: none;
                position: relative;
                overflow: hidden;
                vertical-align: top;
                &:focus {
                    border-color: var(--im-accent-primary);
                }
                &::after {
                    position: absolute;
                    z-index: 1;
                    border: 1px solid transparent;
                    width: calc(100% - var(--im-component-border-weight) * 2);
                    height: calc(100% - var(--im-component-border-weight) * 2);
                    top: var(--im-component-border-weight);
                    left: var(--im-component-border-weight);
                    border-radius: var(--im-component-border-radius-inner);
                    content: ' ';
                }
                &::placeholder {
                    color: var(--im-text-secondary);
                }
            }
            > textarea {
                height: auto;
            }
            &.error {
                > div[data-role='help'] {
                    color: var(--im-danger-primary);
                }
                > input,
                > textarea,
                > button {
                    border-color: var(--im-danger-primary);
                }
            }
            &[data-field='date'] {
                display: flex;
                flex-direction: row;
                position: relative;
                max-width: calc(var(--im-component-height-default) * 5);
                > input {
                    flex-grow: 1;
                    flex-basis: 0;
                    border-right: 0;
                    &[type='date'] {
                        position: absolute;
                        top: 0;
                        left: 0;
                        width: 100%;
                        height: 100%;
                        opacity: 0;
                        display: none;
                    }
                }
                > label {
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: calc(100% - var(--im-component-height-default));
                    height: var(--im-component-height-default);
                    line-height: var(--im-component-line-height);
                    color: var(--im-text-primary);
                    background: var(--im-bg-primary);
                    vertical-align: top;
                    border: var(--im-component-border-weight) solid transparent;
                    border-radius: var(--im-component-border-radius);
                    padding: calc(
                        (var(--im-component-height-default) - 1lh) / 2 - var(--im-component-border-weight) * 2
                    );
                    background-clip: content-box;
                    font-size: var(--im-component-font-size-default);
                    font-family: var(--im-component-font-family);
                }
                &:has(> input:focus) {
                    > label {
                        display: none;
                    }
                }
                > button {
                    width: calc(var(--im-component-height-default));
                    height: calc(var(--im-component-height-default));
                    line-height: var(--input-line-height);
                    padding-block: calc(
                        (var(--im-component-height-default) - 1lh) / 2 - var(--im-component-border-weight) * 2
                    );
                    background: var(--im-accent-primary);
                    color: var(--im-white-primary);
                    border: var(--im-component-border-weight) solid var(--im-accent-primary);
                    > i {
                        font-family: moimz;
                        font-style: normal;
                        font-size: calc(var(--im-component-height-default) / 2);
                        &::before {
                            content: '\e791';
                        }
                    }
                }
            }
            &[data-field='check'],
            &[data-field='radio'] {
                > label {
                    display: block;
                    cursor: pointer;
                    font-family: var(--im-component-font-family);
                    font-size: var(--im-component-font-size-default);
                    line-height: var(--im-component-line-height);
                    padding-block: calc((var(--im-component-height-default) - 1lh) / 2);
                    padding-right: 0;
                    width: fit-content;
                    color: var(--input-color-default);
                    > input {
                        position: relative;
                        width: var(--im-component-line-height);
                        height: var(--im-component-line-height);
                        cursor: pointer;
                        vertical-align: top;
                        margin-right: var(--im-component-gap-small);
                        appearance: none;
                        &::before {
                            position: absolute;
                            top: 0;
                            left: 0;
                            width: 100%;
                            height: 100%;
                            content: ' ';
                            box-sizing: border-box;
                            border: var(--im-component-border-weight) solid var(--im-bg-quaternary);
                            background: var(--im-bg-primary);
                            z-index: 1;
                        }
                        &::after {
                            position: absolute;
                            top: var(--im-component-border-weight);
                            left: var(--im-component-border-weight);
                            width: calc(100% - var(--im-component-border-weight) * 2);
                            height: calc(100% - var(--im-component-border-weight) * 2);
                            content: ' ';
                            box-sizing: border-box;
                            border: 1px solid transparent;
                            border-radius: var(--im-component-border-radius-inner);
                            z-index: 2;
                        }
                        &:focus {
                            &::before {
                                border-color: var(--im-accent-primary);
                            }
                            &:checked {
                                &::after {
                                    border-color: var(--im-white-primary);
                                }
                            }
                        }
                        &[type='checkbox'] {
                            &:checked::before {
                                border-color: var(--im-accent-primary);
                                background: var(--im-accent-primary);
                                color: var(--im-white-primary);
                                border-radius: var(--im-component-border-radius);
                                font-family: moimz;
                                content: '\e404';
                                font-size: calc(1lh * 0.8);
                                text-align: center;
                                line-height: calc(
                                    var(--im-component-line-height) - var(--im-component-border-weight) * 2
                                );
                            }
                        }
                        &[type='radio'] {
                            &::before,
                            &::after {
                                border-radius: 50%;
                            }
                            &:checked {
                                &::before {
                                    border: calc(var(--im-component-line-height) / 2 - 4px) solid
                                        var(--im-accent-primary);
                                    background: var(--im-white-primary);
                                }
                            }
                        }
                    }
                }
                > div[data-role='help'] {
                    padding-left: var(--input-font-weight);
                }
                &.error {
                    > label {
                        color: var(--im-danger-primary);
                        > input {
                            &::before {
                                border-color: var(--im-danger-primary);
                            }
                        }
                    }
                }
            }
            &[data-field='select'] {
                position: relative;
                > select {
                    position: absolute;
                    width: 100%;
                    height: 100%;
                    top: 0;
                    left: 0;
                    z-index: 1;
                    display: none;
                }
                > button {
                    width: 100%;
                    height: var(--im-component-height-default);
                    font-family: var(--im-component-font-family);
                    font-size: var(--im-component-font-size-default);
                    line-height: var(--im-component-line-height);
                    color: var(--im-text-primary);
                    background: var(--im-bg-primary);
                    border: var(--im-component-border-weight) solid var(--im-bg-quaternary);
                    border-radius: var(--im-component-border-radius);
                    position: relative;
                    font-size: 0;
                    padding: 0;
                    display: flex;
                    flex-direction: row;
                    text-align: left;
                    align-items: stretch;
                    > span {
                        flex-grow: 1;
                        box-sizing: border-box;
                        vertical-align: top;
                        height: calc(var(--im-component-height-default) - var(--im-component-border-weight) * 2);
                        font-family: var(--im-component-font-family);
                        font-size: var(--im-component-font-size-default);
                        line-height: var(--im-component-line-height);
                        color: var(--im-text-primary);
                        padding: calc(
                            (var(--im-component-height-default) - 1lh) / 2 - var(--im-component-border-weight) * 2
                        );
                        white-space: nowrap;
                        text-overflow: ellipsis;
                    }
                    > i {
                        flex-shrink: 0;
                        font-size: var(--im-component-font-size-default);
                        width: calc(var(--im-component-height-default) - var(--im-component-border-weight) * 2);
                        height: calc(var(--im-component-height-default) - var(--im-component-border-weight) * 2);
                        line-height: var(--im-component-line-height);
                        padding: calc(
                            (var(--im-component-height-default) - 1lh) / 2 - var(--im-component-border-weight) * 2
                        );
                        text-align: center;
                        font-family: moimz;
                        font-style: normal;
                        &::before {
                            content: '\e234';
                        }
                    }
                    &:focus {
                        border-color: var(--im-accent-primary);
                    }
                }
                > ul {
                    display: 'block';
                    list-style: none;
                    width: 100%;
                    max-height: inherit;
                    box-sizing: border-box;
                    border: var(--im-component-border-weight) solid var(--im-accent-primary);
                    background: var(--im-bg-primary);
                    border-radius: var(--im-component-border-radius);
                    color: var(--im-text-primary);
                    > li {
                        width: 100%;
                        box-sizing: border-box;
                        vertical-align: top;
                        font-size: var(--im-component-font-size-default);
                        font-family: var(--im-component-font-family);
                        line-height: var(--im-component-line-height);
                        height: calc(var(--im-component-height-default) - var(--im-component-border-weight) * 2);
                        padding: calc(
                            (var(--im-component-height-default) - 1lh) / 2 - var(--im-component-border-weight) * 2
                        );
                        cursor: pointer;
                        &:hover {
                            background: var(--im-bg-tertiary);
                        }
                        &:focus {
                            background: var(--im-accent-primary);
                            color: var(--im-white-primary);
                        }
                    }
                }
                &.expand {
                    > button {
                        border-color: var(--im-accent-primary);
                        > i {
                            &::before {
                                content: '\e233';
                            }
                        }
                    }
                    &.top {
                        > button {
                            border-bottom-left-radius: 0px;
                            border-bottom-right-radius: 0px;
                        }
                        > ul {
                            border-top: 0px;
                            border-top-left-radius: 0px;
                            border-top-right-radius: 0px;
                        }
                    }
                    &.bottom {
                        > button {
                            border-top-left-radius: 0px;
                            border-top-right-radius: 0px;
                        }
                        > ul {
                            border-bottom: 0px;
                            border-bottom-left-radius: 0px;
                            border-bottom-right-radius: 0px;
                        }
                    }
                }
                &.error {
                    > button {
                        border-color: var(--im-danger-primary);
                    }
                }
            }
            &[data-field='file'] {
                display: flex;
                flex-direction: row;
                position: relative;
                align-items: stretch;
                > label {
                    flex-grow: 1;
                    flex-shrink: 1;
                    height: var(--im-component-height-default);
                    font-family: var(--im-component-font-family);
                    font-size: var(--im-component-font-size-default);
                    line-height: var(--im-component-line-height);
                    color: var(--im-text-primary);
                    background: var(--im-bg-primary);
                    border: var(--im-component-border-weight) solid var(--im-bg-quaternary);
                    border-radius: var(--im-component-border-radius);
                    padding: calc(
                        (var(--im-component-height-default) - 1lh) / 2 - var(--im-component-border-weight) * 2
                    );
                    border-right: 0;
                    overflow: hidden;
                    &:focus {
                        border-color: var(--im-accent-primary);
                    }
                }
                > button {
                    flex-basis: auto;
                    flex-shrink: 0;
                    flex-grow: 0;
                    min-width: 0;
                }
                > input {
                    position: absolute;
                    opacity: 0;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    cursor: pointer;
                }
            }
            &[data-field='display'] {
                > div {
                    display: block;
                    width: 100%;
                    height: var(--im-component-height-default);
                    font-family: var(--im-component-font-family);
                    font-size: var(--im-component-font-size-default);
                    line-height: var(--im-component-line-height);
                    padding-block: calc((var(--im-component-height-default) - 1lh) / 2);
                    color: var(--im-text-primary);
                }
            }
            &[data-field='input'] + &[data-field='input'] {
                margin-top: 5px;
            }
        }
    }
}

/* /app/resources/styles/Absolute.css */
body {
    &[data-frame='site'],
    &[data-frame='context'] {
        > div[data-role='absolutes'] {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: transparent;
            z-index: 100000;
            > div[data-role='absolute'] {
                position: absolute;
            }
        }
        &:has(div[data-role='absolutes']) {
            > div[data-role='scrollbar'] {
                display: none;
            }
            overflow: hidden;
        }
    }
}

/* /app/resources/styles/Modal.css */
body {
    &[data-frame='site'],
    &[data-frame='context'] {
        > div[data-role='modals'] {
            position: fixed;
            width: 100%;
            height: 100%;
            z-index: 20000;
            top: 0;
            left: 0;
            overflow-y: auto;
            backdrop-filter: blur(5px);
            -webkit-backdrop-filter: blur(5px);
            &::before {
                content: ' ';
                position: fixed;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: var(--im-bg-tertiary);
                opacity: 0.7;
                z-index: -1;
            }
            > section {
                min-width: 100%;
                min-height: 100%;
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                > div[data-role='modal'] {
                    width: 90%;
                    max-width: 400px;
                    box-sizing: border-box;
                    background: var(--im-bg-primary);
                    box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
                    > div[data-role='title'] {
                        width: 100%;
                        height: var(--im-component-height-large);
                        padding-inline: var(--im-component-gap-extra-large);
                        padding-top: calc(var(--im-component-gap-extra-large) + var(--im-component-gap-small));
                        padding-bottom: 0;
                        font-size: var(--im-font-size-h4);
                        color: var(--modal-title-color);
                        font-size: var(--modal-title-font-size);
                        font-weight: bold;
                        position: sticky;
                        top: 0;
                    }
                    > div[data-role='content'] {
                        padding: var(--im-component-gap-extra-large);
                        font-size: var(--im-font-size-default);
                        line-height: var(--im-component-line-height);
                        color: var(--im-text-primary);
                        box-sizing: border-box;
                        word-break: break-all;
                    }
                    > div[data-role='buttons'] {
                        width: 100%;
                        position: sticky;
                        bottom: 0;
                        display: flex;
                        padding: 0;
                        gap: 0;
                        > button {
                            flex-grow: 1;
                            flex-shrink: 1;
                            flex-basis: 0;
                            border-radius: 0;
                            &:not(.confirm)&:not(.begining)&:not(.danger)&:not(.action) {
                                border: 0;
                                padding: calc((var(--im-component-height-default) - 1lh) / 2);
                                border-color: var(--im-bg-tertiary);
                                &::before {
                                    background: var(--im-bg-quaternary);
                                }
                                &:hover {
                                    background: var(--im-border-secondary);
                                }
                            }
                        }
                    }
                }
            }
        }
        &:has(div[data-role='modals']) {
            > div[data-role='scrollbar'] {
                display: none;
            }
            overflow: hidden;
        }
    }
}

/* /app/resources/styles/Calendar.css */
body {
    &[data-frame='site'] {
        > div[data-role='absolutes'] {
            > div[data-role='absolute'] {
                &:has(> div[data-role='calendar']) {
                    background: var(--im-bg-primary);
                    display: block;
                    min-height: 100px;
                    min-width: 200px;
                    position: fixed;
                }
                > div[data-role='calendar'] {
                    font-family: var(--im-font-family-body);
                    font-size: var(--im-font-size-default);
                    display: flex;
                    flex-direction: column;
                    position: relative;
                    background: var(--im-bg-primary);
                    border: 1px solid var(--im-accent-primary);
                    height: 320px;
                    width: 320px;
                    > div[data-role='header'] {
                        display: flex;
                        flex-direction: row;
                        align-items: stretch;
                        padding: calc(16px * 0.5);
                        height: 48px;
                        background: var(--im-accent-secondary);
                        flex-shrink: 0;
                        > button {
                            background: transparent;
                            border: 0;
                            cursor: pointer;
                            color: var(--im-bg-primary);
                            font-size: var(--im-font-size-default);
                            &[data-action='month'] {
                                margin-right: auto;
                            }
                            &[data-action='prev'],
                            &[data-action='next'] {
                                width: var(--im-component-height-default);
                                font-family: moimz;
                                font-size: var(--im-font-size-large);
                            }
                            &[data-action='prev']::before {
                                content: '\e211';
                            }
                            &[data-action='next']::before {
                                content: '\e212';
                            }
                            &[data-action='month']::after {
                                display: inline-block;
                                padding-left: 8px;
                                content: '\e234';
                                font-family: moimz;
                                font-size: var(--im-font-size-large);
                            }
                        }
                        > div[data-role='picker'] {
                            position: absolute;
                            top: 48px;
                            left: 0;
                            width: 100%;
                            height: calc(100% - calc(16px * 2) - calc(16px * 0.5) * 2);
                            background: var(--im-bg-primary);
                            z-index: 10;
                            display: none;
                            grid-template-columns: 1fr 2fr;
                            grid-template-rows: 1fr calc(
                                    var(--im-component-height-default) + calc(16px * 0.5) * 2 + 1px
                                );
                            grid-template-areas:
                                'year month'
                                'footer footer';
                            column-gap: 2px;
                            row-gap: 0px;
                            background: var(--im-accent-primary);
                            > ul[data-role='years'] {
                                grid-area: year;
                                list-style: none;
                                flex-grow: 1;
                                flex-shrink: 1;
                                min-height: 0;
                                overflow-y: scroll;
                                display: grid;
                                gap: 1px;
                                background: var(--im-bg-quaternary);
                                grid-template-columns: 1fr;
                                grid-auto-rows: calc((100% - 5px) / 6);
                            }
                            > ul[data-role='months'] {
                                grid-area: month;
                                display: grid;
                                grid-template-columns: repeat(2, 1fr);
                                grid-template-rows: repeat(6, 1fr);
                                gap: 1px;
                                background: var(--im-bg-quaternary);
                            }
                            > ul {
                                > li {
                                    height: 36px;
                                    display: flex;
                                    align-items: center;
                                    justify-content: center;
                                    background: var(--im-bg-primary);
                                    cursor: pointer;
                                    &.selected {
                                        background: var(--im-accent-primary);
                                        color: var(--im-white-primary);
                                    }
                                }
                            }
                            > div {
                                grid-area: footer;
                                border-top: 1px solid var(--im-border-secondary);
                                background: var(--im-bg-primary);
                                padding: calc(16px * 0.5);
                                height: 49px;
                                display: flex;
                                align-items: center;
                                justify-content: flex-end;
                                > button {
                                    background: var(--im-accent-primary);
                                    color: var(--im-white-primary);
                                    height: var(--im-component-height-default);
                                    font-size: var(--im-font-size-default);
                                    border: 0;
                                    padding: 0px calc(16px * 0.5);
                                    cursor: pointer;
                                }
                            }
                        }
                        &.picker {
                            > div[data-role='picker'] {
                                display: grid;
                            }
                        }
                    }
                    > div[data-role='content'] {
                        flex-grow: 1;
                        flex-shrink: 1;
                        display: flex;
                        flex-direction: column;
                        > ul[data-role='days'] {
                            flex-shrink: 1;
                            background: var(--im-bg-quaternary);
                            display: flex;
                            flex-direction: row;
                            align-items: stretch;
                            list-style: none;
                            gap: 1px;
                            border-bottom: 1px solid var(--im-bg-quaternary);
                            margin: 0;
                            padding: 0;
                            > li {
                                flex-basis: 0;
                                flex-grow: 1;
                                height: var(--im-component-height-default);
                                line-height: var(--im-component-height-default);
                                text-align: center;
                                color: var(--im-text-primary);
                                background: var(--im-bg-tertiary);
                                &:first-child {
                                    color: #dc3535;
                                }
                                &:last-child {
                                    color: #0075f8;
                                }
                            }
                        }
                        > ul[data-role='dates'] {
                            flex-grow: 1;
                            flex-shrink: 1;
                            min-height: 0;
                            overflow: auto;
                            background: var(--im-bg-quaternary);
                            gap: 1px;
                            display: grid;
                            grid-template-columns: repeat(7, 1fr);
                            list-style: none;
                            margin: 0;
                            padding: 0;
                            > li {
                                display: flex;
                                align-items: center;
                                justify-content: center;
                                background: var(--im-bg-primary);
                                text-align: center;
                                cursor: pointer;
                                color: var(--im-text-primary);
                                &.sun {
                                    color: #dc3535;
                                }
                                &.sat {
                                    color: #0075f8;
                                }
                                &:hover {
                                    background: var(--im-bg-tertiary);
                                }
                                &.today {
                                    outline: 1px solid var(--im-accent-secondary);
                                }
                                &.unfocused {
                                    color: var(--im-fill-primary);
                                }
                                &.selected {
                                    background: var(--im-accent-primary);
                                    color: var(--im-bg-primary);
                                }
                            }
                        }
                    }
                    > div[data-role='footer'] {
                        border-top: 1px solid var(--im-border-secondary);
                        padding: calc(16px * 0.5);
                        height: 48px;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        > button {
                            background: var(--im-accent-primary);
                            color: var(--im-white-primary);
                            height: var(--im-component-height-default);
                            font-size: var(--im-font-size-default);
                            border: 0;
                            padding: 0px calc(16px * 0.5);
                            cursor: pointer;
                        }
                    }
                }
            }
        }
    }
}

/* /app/resources/styles/Mention.css */
.im-mentions {
    position: fixed;
    z-index: 1000;
    box-sizing: border-box;
    width: 240px;
    max-height: 240px;
    overflow: auto;
    margin: 0;
    padding: var(--im-component-gap-extra-small);
    border: var(--im-component-border-weight) solid var(--im-border-secondary);
    border-radius: var(--im-component-border-radius);
    background: var(--im-bg-primary);
    color: var(--im-text-primary);
    font-size: var(--im-component-font-size-default);
    box-shadow: 0 8px 24px var(--im-border-secondary-alpha);
    list-style: none;
    &[hidden] {
        display: none;
    }
    > li.im-mentions-option {
        display: flex;
        flex-direction: column;
        gap: 2px;
        padding: var(--im-component-gap-small) var(--im-component-gap-default);
        border-radius: var(--im-component-border-radius-inner);
        cursor: pointer;
        &.selected,
        &:hover {
            background: var(--im-selection-tertiary);
        }
        > small {
            color: var(--im-text-secondary);
            font-size: var(--im-font-size-small);
        }
    }
}
