/* Responsive override layer; loads after mobile.css and leaves desktop widths of 1024px and above unchanged. */


@media (max-width: 1023px) {

    .plagiarism_inspector_wrap.catcher .plagiarism_inspector #real_content {

        overflow-y: auto;
    }
    :root body::-webkit-scrollbar {
        width: 2px;
    }

    :root .dt-paging button > a {
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
    }

   :root .btn_search_delete3 {
        min-height: 20px !important;
    }

    :root .univ_search_box .btn_form_delete {
        min-height:20px !important;
    }

    :root .wave-circle-box .wave-inner img {
        position: absolute;
        top: 30%;
        left: 0;
        width: 400px;
    }
    

    body { overflow-x: hidden; }

    :root *,
    :root .mobile-menu * { box-sizing: border-box; }

    :root .flex > *,
    :root [class*="_group"] > *,
    :root [class*="_box"] > *,
    :root [class*="_wrap"] > *,
    :root .mobile-menu .h_left,
    :root .mobile-menu .h_right,
    :root .mobile-menu .txt { min-width: 0; }

    :root img,
    :root video,
    :root canvas,
    :root svg,
    :root .mobile-menu img { max-width: 100%; height: auto; }

    :root h1,
    :root h2,
    :root h3,
    :root h4,
    :root p,
    :root dd,
    :root td,
    :root .tit,
    :root .title,
    :root .txt,
    :root .name {
        overflow-wrap: anywhere;
        word-break: keep-all;
    }

    :root input,
    :root select,
    :root textarea,
    :root button { max-width: 100%; }

    :root .cm_table_wrap,
    :root .table_wrap {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    :root .layer_pop_common,
    :root .layer-pop,
    :root .modal_box,
    :root .cont_modal_main {
        max-width: calc(100vw - 2rem);
        max-height: calc(100vh - 2rem);
        max-height: calc(100dvh - 2rem);
        overflow-y: auto;
    }

    :root .ml_wrap {
        min-width: 0;
        max-width: 100%;
    }

    :root .ml_wrap .container,
    :root .ml_wrap .inner,
    :root .loading-bar {
        min-width: 0;
        max-width: 100%;
    }
}

/* Mobile QA V2: service-specific fixes. */
@media (max-width: 767px) {
    .i_noti_wrap .btn {
    height: 45px;
    }
    :root .gpt-float {
        left: max(8px, env(safe-area-inset-left, 0px));
        bottom: max(8px, env(safe-area-inset-bottom, 0px));
    }

    :root .gpt-float .abs-pos span.fix-pos {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 60px;
        padding: 8px 4px;
        border-radius: 12px;
        background: linear-gradient(145deg, #ff9d86, #ff0754);
        box-shadow: 0 2px 8px #0002;
        color: #fff;
    }

    :root .gpt-float .fix-pos > img { display: none; }
    :root .gpt-float .fix-pos::before { content: 'E-GPT'; font-size: 10px; font-weight: 700; line-height: 14px; }

    :root .gpt-float .abs-pos span.fix-pos span.my_enabled_ai_cnt,
    :root .gpt-float .abs-pos span.fix-pos span.my_enabled_ai_msg {
        position: static;
        width: 100%;
        margin: 0;
        background: none;
        border-radius: 0;
        overflow-wrap: anywhere;
    }

    :root .gpt-float .abs-pos span.fix-pos span.my_enabled_ai_cnt { font-size: 18px; line-height: 20px; }
    :root .gpt-float .my_enabled_ai_cnt::before { content: '이용가능'; display: block; font-size: 9px; line-height: 12px; }
    :root .gpt-float .abs-pos span.fix-pos span.my_enabled_ai_msg { font-size: 10px; line-height: 14px; }
    :root .gpt-float .abs-pos .close-p { top: -6px; right: -6px; width: 16px; height: 16px; }

    :root #gpt-help-pop-desc {
        height: 100vh;
        height: 100dvh;
        padding: 12px;
        overflow-y: auto;
    }

    /* The 736 x 540 image is displayed with 40px cropped from each side.
       Overlay coordinates refer to the remaining 656 x 540 area. */
    :root #gpt-help-pop-desc > .pos-rel {
        position: relative;
        width: 100%;
        max-width: 656px;
        margin: auto;
        overflow: hidden;
        background: #fff;
    }

    :root #gpt-help-pop-desc > .pos-rel > img {
        display: block;
        width: 112.195122%;
        max-width: none;
        height: auto;
        margin-left: -6.097561%;
    }

    :root #gpt-help-pop-desc .my_enabled_ai_cnt2 {
        left: 62.652439%;
        top: 39.63%;
        right: auto;
        width: 18%;
        font-size: clamp(10px, 2.75vw, 18px);
        line-height: 1;
        transform: translate(-50%, -50%);
    }

    :root #gpt-help-pop-desc .my_enabled_ai_cnt3 {
        left: 57.317073%;
        top: 50%;
        right: auto;
        width: 22.865854%;
        font-size: clamp(10px, 2.75vw, 18px);
        line-height: 1;
        transform: translate(-50%, -50%);
    }

    :root #gpt-help-pop-desc .my_enabled_ai_msg2 {
        left: 19.817073%;
        top: 37.222222%;
        width: 60.97561%;
        height: 18.518519%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 4px;
        font-size: clamp(10px, 2.75vw, 18px);
        line-height: 1.3;
        text-align: center;
        overflow-wrap: anywhere;
    }

    :root #gpt-help-pop-desc .gpt-help-pop-desc-close {
        top: 0;
        right: 0;
        width: 32px;
        height: 28px;
        z-index: 1;
        background: #fff;
    }

    :root #gpt-help-pop-desc .gpt-help-pop-desc-close::before,
    :root #gpt-help-pop-desc .gpt-help-pop-desc-close::after {
        content: '';
        position: absolute;
        top: 5px;
        left: 15px;
        width: 1px;
        height: 18px;
        background: #888;
        transform: rotate(45deg);
    }

    :root #gpt-help-pop-desc .gpt-help-pop-desc-close::after { transform: rotate(-45deg); }

    :root .clvr-banner-area .lottie-wrap-btn {
        width: 35px;
        height: 35px;
    }

    .modal_cont_medium {
        width: calc(100% - 20px) !important;
    }
    .modal_part_select {
        width: calc(100% - 20px) !important;
    }
     .univ_search_box .btn_form_delete {
       min-height:20px
    }
    .mobile-body #loading_icon_correct1 {
       height:initial;min-height:150px
    }
    .m-hide{display:none !important;}
    .i_noti_wrap .i_noti {
        line-height: 1.7;
    }
     :root .spelling_inspector_wrap .spelling_inspector .inspector .textarea_box {
        min-height: 240px;
    }
    /* Resume tools */
    :root .w_box_wrap.sty2 .btn_group.list_c > a,
    :root .w_box_wrap.sty2 .btn_group.list_c > button {
        width: 100%;
        margin-right: 0 !important;
    }

    :root .plagiarism_inspector_wrap .i_noti_wrap {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }

    :root .plagiarism_inspector_wrap .i_noti_wrap .btn,
    :root .plagiarism_inspector_wrap + .btn_group > button {
        width: 100%;
        margin: 0;
    }

    :root .plagiarism_inspector_wrap .plagiarism_inspector {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    :root .plagiarism_inspector_wrap .plagiarism_inspector.dis_none {
        display: none;
    }

    :root .plagiarism_inspector_wrap .plagiarism_inspector .inspector,
    :root .plagiarism_inspector_wrap .plagiarism_inspector .result_wrap {
        width: 100%;
        min-width: 0;
    }

    :root .plagiarism_inspector_wrap.catcher.gptcatcher-page .plagiarism_inspector .inspector::after {
        display: none;
    }

    :root .plagiarism_inspector_wrap.catcher.gptcatcher-page:not(.has-result) .result_wrap {
        display: none;
    }

    :root .plagiarism_inspector_wrap.catcher.gptcatcher-page .result_wrap::before {
        content: '';
        display: block;
        width: 12px;
        height: 12px;
        margin: 0 auto 24px;
        border: solid #383b40;
        border-width: 0 2px 2px 0;
        transform: rotate(45deg);
    }

    :root .plagiarism_inspector_wrap.catcher.gptcatcher-page .plagiarism_inspector .result_wrap,
    :root .plagiarism_inspector_wrap.catcher.gptcatcher-page .plagiarism_inspector #api_results {
        height: auto;
        min-height: 0;
        max-height: none;
        overflow: visible;
    }

    :root .plagiarism_inspector_wrap.catcher.gptcatcher-page #api_results {
        padding-bottom: 20px;
        overflow-wrap: anywhere;
    }

    :root .plagiarism_inspector_wrap.catcher.gptcatcher-page #api_results .correct_rst {
        width: calc(100% - 32px);
        max-width: 100%;
    }

    :root .plagiarism_inspector_wrap.catcher.gptcatcher-page #api_results img {
        max-width: 100%;
        height: auto;
    }

    :root .plagiarism_inspector_wrap.catcher.gptcatcher-page #api_results .reason_solution {
        padding: 10px 16px 0;
    }

    :root .plagiarism_inspector_wrap.catcher.gptcatcher-page .gpt-chacher-rst-help {
        display: flex;
        justify-content: center;
        width: 100%;
        margin-top: 12px;
    }

    :root .plagiarism_inspector_wrap.catcher.gptcatcher-page .gpt-chacher-rst-help img {
        position: static;
        max-width: 100%;
        height: auto;
        margin: 0;
    }

    :root .plagiarism_inspector_wrap.catcher.gptcatcher-page .gptcatcher-actions {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        width: 100%;
        gap: 12px;
        margin: 16px 0 24px;
    }

    :root .plagiarism_inspector_wrap.catcher.gptcatcher-page .gptcatcher-actions > .btn {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        margin: 0;
    }

    /* Blind-check result dialog only; other service dialogs keep their layout. */
    :root #rst_type.blind-pop {
        height: 100vh;
        height: 100dvh;
        padding: 12px;
        overflow: hidden;
    }

    :root #rst_type.blind-pop form { width: 100%; min-width: 0; margin: 0; }

    :root #rst_type.blind-pop .modal_cont {
        display: flex;
        flex-direction: column;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        max-height: calc(100vh - 24px);
        max-height: calc(100dvh - 24px);
        margin: 0;
        padding-bottom: 0;
    }

    :root #rst_type.blind-pop .modal-header {
        flex: 0 0 auto;
        margin-bottom: 0;
        padding: 16px 56px;
    }

    :root #rst_type.blind-pop .modal_inner {
        min-height: 0;
        padding: 16px;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    :root #rst_type.blind-pop .modal_tit.gpt {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        padding: 14px;
        font-size: 13px;
        overflow-wrap: anywhere;
    }

    :root #rst_type.blind-pop .modal_tit.gpt img { flex: 0 0 28px; width: 28px; height: auto; margin: 0; }
    :root #rst_type.blind-pop .modal_tit.gpt span { flex: 1; min-width: 0; line-height: 1.6; }
    :root #rst_type.blind-pop .modal_tit.gpt br { display: none; }

    :root #rst_type.blind-pop #rst_text {
        min-height: 140px;
        height: auto;
        padding: 14px;
        overflow-wrap: anywhere;
    }

    :root #rst_type.blind-pop .word-cnt2 { position: static; width: 100%; margin: 10px 0 0; text-align: right; }
    :root #rst_type.blind-pop .btn_list { margin: 20px 0 0; }
    :root #rst_type.blind-pop .btn_dark_blue { width: 100%; max-width: 240px; }
    :root #rst_type.blind-pop .btn_dark_blue::before { width: 100%; }

    /* Spell checker uses a separate layout from the plagiarism tools. */
    :root .spelling_inspector_wrap .spelling_inspector {
        flex-direction: column;
        gap: 1.5rem;
        width: 100%;
    }

    :root .spelling_inspector_wrap .spelling_inspector .inspector,
    :root .spelling_inspector_wrap .spelling_inspector .result {
        width: 100%;
        min-width: 0;
        margin-left: 0;
    }

    :root .spelling_inspector_wrap .spelling_inspector .inspector:after {
        display: none;
    }

    :root .spelling_inspector_wrap .spelling_inspector .inspector .info {
        height: auto;
        padding: 12px;
    }

    :root .spelling_inspector_wrap .spelling_inspector .inspector .info .line {
        display: block;
        margin-left: 0;
        overflow-wrap: anywhere;
    }

    :root .spelling_inspector_wrap #real_content_1 {
        padding: 13px 12px;
    }

    :root .spelling_inspector_wrap #real_content_2 {
        position: static;
        margin-top: 12px;
    }

    :root .spelling_inspector_wrap .spelling_inspector .result {
        min-height: 160px;
    }

    :root .spelling_inspector_wrap #api_result .rst-head h2 {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px;
    }

    :root .spelling_inspector_wrap #api_result .repair-all-btn {
        float: none;
    }

    :root .spelling_inspector_wrap #api_result .word_correct table {
        width: 100%;
        table-layout: fixed;
    }

    :root .spelling_inspector_wrap #api_result .word_correct table td.arrow {
        width: 28px;
    }

    :root .plagiarism-checker-page > .i_noti_wrap { margin: 0 0 20px; }
    :root .plagiarism-checker-page .plagiarism_inspector .result_wrap,
    :root .plagiarism-checker-page .plagiarism_inspector .result {
        height: auto;
        min-height: 0;
        max-height: none;
        overflow: visible;
        overflow-wrap: anywhere;
    }

    :root .plagiarism-checker-page .correct_rst { width: calc(100% - 24px); max-width: 100%; }
    :root .plagiarism-checker-page .correct_rst_img { padding: 20px 12px 24px; }
    :root .plagiarism-checker-page .correct_rst_img > img { display: none; }
    :root .plagiarism-checker-page .correct_rst_img::before {
        content: '표절지수';
        display: block;
        margin-bottom: 12px;
        font-size: 13px;
        font-weight: 700;
    }

    :root .plagiarism-checker-page .correct_rst_img > span { width: 100%; height: 58px; }
    :root .plagiarism-checker-page .correct_rst_img > span::before {
        content: '';
        position: absolute;
        top: 22px;
        left: 0;
        right: 0;
        height: 4px;
        background: linear-gradient(to right, #397be5 0% 20%, #28c626 20% 40%, #ffca00 40% 60%, #ff9700 60% 80%, #ff5900 80% 100%);
    }

    :root .plagiarism-checker-page .correct_rst_img > span > i {
        top: 0;
        font-size: 10px;
        line-height: 16px;
        white-space: nowrap;
        transform: translateX(-50%);
    }
    :root .plagiarism-checker-page .correct_rst_img > span > i:nth-child(1) { left: 0; transform: none; }
    :root .plagiarism-checker-page .correct_rst_img > span > i:nth-child(2) { left: 20%; }
    :root .plagiarism-checker-page .correct_rst_img > span > i:nth-child(3) { left: 40%; }
    :root .plagiarism-checker-page .correct_rst_img > span > i:nth-child(4) { left: 60%; }
    :root .plagiarism-checker-page .correct_rst_img > span > i:nth-child(5) { left: 80%; }
    :root .plagiarism-checker-page .correct_rst_img > span > i:nth-child(6) { left: auto; right: 0; transform: none; }
    :root .plagiarism-checker-page .correct_rst_img > span > i:nth-child(n+7) { top: 32px; width: 20%; transform: none; text-align: center; }
    :root .plagiarism-checker-page .correct_rst_img > span > i:nth-child(7) { left: 0; }
    :root .plagiarism-checker-page .correct_rst_img > span > i:nth-child(8) { left: 20%; }
    :root .plagiarism-checker-page .correct_rst_img > span > i:nth-child(9) { left: 40%; }
    :root .plagiarism-checker-page .correct_rst_img > span > i:nth-child(10) { left: 60%; }
    :root .plagiarism-checker-page .correct_rst_img > span > i:nth-child(11) { left: 80%; }
    :root .plagiarism-checker-page .correct_rst_img p { display: block; padding: 12px 0 0; letter-spacing: 0; }

    :root .plagiarism-checker-page .plagiarism_inspector:not(.has-result) .result_wrap,
    :root .plagiarism-checker-page .plagiarism_inspector:not(.has-result) .inspector::after { display: none; }

    :root .plagiarism-checker-page + .plagiarism-checker-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    :root .plagiarism-checker-page + .plagiarism-checker-actions > .btn_info {
        position: static;
        width: 100%;
        margin: 0;
        grid-column: 1 / -1;
    }

    :root .plagiarism-checker-page + .plagiarism-checker-actions > .btn.lg { grid-column: 1 / -1; }
    :root .plagiarism-checker-page + .plagiarism-checker-actions > .btn { width: 100%; min-width: 0; margin: 0; }

    :root .spell-checker-page:not(.has-result) #api_result { display: none; }

    :root .spell-checker-page .spell-checker-actions {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        width: 100%;
        gap: 12px;
        margin: 0;
    }

    :root .spell-checker-page .spell-checker-actions > .btn {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        margin: 0;
    }

    :root .spelling_inspector_wrap + .btn_group {
        gap: 1rem;
    }

    :root .spelling_inspector_wrap + .btn_group > .btn {      
        min-width: 0;
        margin: 0;
        padding: 0 8px;
        width: 100%;
    }

    /* Spec tabs and summary */
    :root .sub_contents.spec .cm_tab_wrap {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
    }

    :root .sub_contents.spec .cm_tab_wrap .cm_tab {
        width: max-content;
        min-width: 100%;
        flex-wrap: nowrap;
    }

    :root .sub_contents.spec .cm_tab_wrap .cm_tab li {
        flex: 0 0 auto;
        width: auto;
        white-space: nowrap;
    }

    :root .sub_contents.spec .cm_tab_wrap .cm_tab li a {
        padding: 0 16px;
    }

    :root .sub_contents.spec .spec_wrap {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-around;
        gap: 0.75rem;
    }

    :root .sub_contents.spec .spec_item {
        flex: 1 1 0;
        min-width: 0;
        text-align: center;
        width: 100%;
    }

    :root .sub_contents.spec .spec_item .spec-color1 { display: none; }

    :root .sub_contents.spec .spec_item dd {
        font-size: clamp(2.15rem, 11vw, 3.3rem);
        line-height: 1.1;
        white-space: nowrap;
        overflow-wrap: normal;
        word-break: normal;
    }

    /* Prediction form and transient selected-state artefacts */
    :root .company_part_search,
    :root .spec_select_row,
    :root .spec_select_tit_english {
        flex-direction: column;
        align-items: stretch;
    }

    :root .company_part_search { padding: 1.5rem 1rem; }

    :root .company_part_search .form_input_row,
    :root .company_part_search .search_title.company,
    :root .company_part_search .btn_part_select,
    :root .spec_select_option {
        width: 100%;
        min-width: 0;flex-flow: column;align-items: start;
    }

    :root .form_input_row .s-btn {
        width: 26px;
        height: 26px;
        max-width: none;
        object-fit: contain;
        flex: 0 0 26px;
    }

    :root .spec_select_item label {
        -webkit-appearance: none;
        appearance: none;
        background-clip: padding-box;
        transform: translateZ(0);
        overflow: hidden;
    }

    /* Tables and round controls */
    :root .sub_contents.spec .dt-paging,
    :root .sub_contents.spec .paging_area {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.25rem;
        overflow: visible;
    }

    :root .sub_contents.spec .dt-paging button,
    :root .sub_contents.spec .paging_area span,
    :root .sub_contents.spec .paging_area span.on {
        box-sizing: border-box;
        width: 36px;
        min-width: 36px;
        height: 36px;
        padding: 0;
        margin: 0;
        aspect-ratio: 1;
        line-height: 36px;
        border-radius: 50%;
    }

    /* Spec distribution cards, including TOEIC */
    :root .chart_list.v2 {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
    }

    :root .chart_list.v2 > li {
        width: 100%;
        min-width: 0;
        overflow: hidden;
    }

    :root .chart_list.v2 .chart_top_area { height: auto; min-height: 286px; }
    :root .chart_list.v2 canvas { max-width: 100% !important; }

    /* Prediction loading layer */
    :root #ai-loading.modal_slide_wrap {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 1rem;
    }

    :root #ai-loading .ai-body {
        width: min(100%, 450px);
        height: auto;
        min-height: 370px;
        margin: auto;
        padding: 1rem;
    }

    :root #ai-loading .wave-circle-box.rel { margin: 0 auto; }

    :root .prediction.btn_history,
    :root .prediction.btn_history.report {
        position: static;
        display: block;
        width: max-content;
        max-width: 100%;
        margin: 1rem 0 1rem auto;
    }

    /* Aptitude content cards: keep every available content type visible. */
    :root .aptitude-mobile-qa .cm_card .inner .ic_group,
    :root .aptitude-mobile-qa .cm_card .inner .cm_bottom {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    :root .aptitude-mobile-qa .cm_card .inner .cm_bottom .line {
        flex: 1 1 calc(50% - 0.75rem);
        min-width: 8rem;
        white-space: normal;
    }

    /* Use Clever's visual viewport height and offset together when the
       keyboard resizes or pans the visible screen. */
    :root .clvr-main-page.clvr_popup {
        top: var(--clvr-viewport-top, 0px);
        height: 100vh;
        height: var(--clvr-viewport-height, var(--mobile-visual-height, 100dvh)) !important;
        max-height: var(--clvr-viewport-height, var(--mobile-visual-height, 100dvh));
        overflow: hidden;
    }

    :root .clvr-main-page.clvr_popup.clvr-open > .clvr-body {
        height: 100%;
        min-height: 0;
        max-height: 100%;
        overflow: hidden;
    }

    :root .clvr-main-page.clvr_popup .clvr-pop_body {
        min-height: 0;
        padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    :root .clvr-main-page.clvr_popup .clvr-pop_body .clvr-pop_search_box {
        /* The external CSS sets top to the viewport bottom and translates
           by -100%. A bottom constraint would stretch or collapse the box. */
        bottom: auto;
        height: auto;
        flex: 0 0 auto;
        padding-bottom: calc(1rem + env(safe-area-inset-bottom));
    }
}

@media (max-width: 1023px) {
    /* Prediction report and history */
    :root .report_section .chart_field_box {
        margin-top: 1.25rem;
        padding: 1rem;
        overflow: hidden;
    }

    :root .report_section .match_field,
    :root .report_section .match_item,
    :root .report_section .radar_field,
    :root .report_section .spec_feedback_field {
        flex-direction: column;
        align-items: stretch;
        gap: 1.5rem;
    }

    :root .report_section .match_field .match_item:first-child,
    :root .report_section .radar_field > div:first-child,
    :root .report_section .feedback_item:nth-child(1) {
        border-right: 0;
        border-bottom: 1px solid var(--black-10);
        padding-bottom: 1.5rem;
    }

    :root .report_section .chart_container {
        position: relative;
        width: 100%;
        max-width: 420px;
        margin-inline: auto;
    }

    :root .report_section .radar_chart_box {
        width: 100%;
        max-width: 420px;
        min-width: 0;
    }

    :root .report_section .radar_chart_tit {
        position: static;
        width: auto;
        margin-bottom: 1rem;
    }

    :root .report_section .match_item {
        align-items: center;
        text-align: center;
    }

    :root .report_section .match_field .match_item:only-child,
    :root .report_section .radar_field > div:only-child {
        border-bottom: 0;
        padding-bottom: 0;
    }

    :root .report_section .spec_feedback_field {
        padding: 1rem;
    }

    :root .report_section .feedback_item:nth-child(1),
    :root .report_section .feedback_item:nth-child(2) {
        width: 100%;
        padding-inline: 2.625rem 0;
    }

    :root .report_section .spec_card_li {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
    }

    :root .report_section .spec_card_li > li { min-width: 0; }

    :root .report_section .match_desc_box {
        padding: 1rem;
    }

    :root .report_section .match_desc_box::before { display: none; }

    :root .report_section .pass_strategy_box {
        padding: 1rem;
        background-image: none;
    }

    :root .report_section .highlight_box,
    :root .report_section .strategy_result { padding-inline: 1rem; }


    .search-report .inner-in {
        width: 100%;
        margin: 0 auto;
    }
     .univ_search_box .btn_form_delete {
       min-height:20px
    }
    :root .ly_inner,
    :root .inner,
    :root .container {
        width: 100%;
        max-width: 100%;
        padding-inline: 1.5rem;
    }

    :root .ml_wrap .container {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        margin-inline: auto;
        padding-top: 54px;
        padding-inline: 1.5rem;
    }

    :root .ml_wrap .inner {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding-inline: 1.5rem;
    }

    :root .btnbox,
    :root .button_group,
    :root .filter_box,
    :root .tab_navbox { flex-wrap: wrap; }

    :root input:not([type="checkbox"]):not([type="radio"]),
    :root select,
    :root textarea,
    :root button,
    :root .btn { min-height: 20px; }
}

/* Keep home service cards in two columns up to the desktop breakpoint. */
@media (min-width: 768px) and (max-width: 1023px) {
    :root .service_card_list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }

    :root .service_card_list > .card {
        width: 100%;
        min-width: 0;
        margin: 0;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    :root .best_content_group,
    :root .cm_card_list,
    :root .joblist,
    :root .cm_card_wrap .cm_card_list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }

    :root .best_content_group > *,
    :root .cm_card_list > *,
    :root .joblist > *,
    :root .cm_card_wrap .cm_card_list > li,
    :root .cm_card_wrap .cm_card_list > .cm_card {
        width: 100%;
        min-width: 0;
        margin: 0;
    }
}

@media (max-width: 767px) {
     .univ_search_box .btn_form_delete {
       min-height:20px
    }
    .m-hide{display:none !important;}
    .btn_group{gap:1rem;}
    :root .hd_modal {
        font-size: 18px;
        line-height: 1.4;
    }

    :root .ly_inner,
    :root .inner,
    :root .container { padding-inline: 1rem; }

    :root .ml_wrap .container,
    :root .ml_wrap .inner { padding-inline: 1rem; }

    :root .form_box,
    :root .form_item,
    :root .input_box.row_ver,
    :root .ask_row_flex_main {
        grid-template-columns: minmax(0, 1fr);
        flex-direction: column;
        align-items: stretch;
    }

    :root .modal_box,
    :root .cont_modal_main,
    :root .layer_pop_common {
        width: calc(100vw - 2rem);
        margin-inline: auto;
    }

    :root .service_card_list,
    :root .best_content_group,
    :root .cm_card_list,
    :root .joblist,
    :root .cm_card_wrap .cm_card_list {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
    }

    :root .service_card_list .card,
    :root .best_content_group .card,
    :root .cm_card,
    :root .joblist .item,
    :root .cm_card_wrap .cm_card_list li {
        width: 100%;
        min-width: 0;
        margin: 0;
    }

    :root .mypage_wrap,
    :root .mypage_wrap .filter_box,
    :root .mypage_wrap .leftbox,
    :root .mypage_wrap .rightbox,
    :root .mypage_wrap .support_section .filter_box,
    :root .mypage_wrap .support_section .filter_box .leftbox,
    :root .mypage_wrap .support_section .filter_box .rightbox {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }

    :root .tab_navbox,
    :root .cm_tab_wrap,
    :root .ml_wrap .tab_navbox {
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: thin;
    }

    :root .ml_wrap .tab_navbox { flex-wrap: nowrap; }

    :root .tab_navbox .tab_nav,
    :root .cm_tab_wrap .cm_tab,
    :root .ml_wrap .tab_navbox .tab_nav,
    :root .ml_wrap .section.mypage_section .tab_navbox .tab_nav {
        width: max-content;
        min-width: 100%;
        flex: none;
        flex-wrap: nowrap;
    }

    :root .cm_table_wrap > table,
    :root .table_wrap > table {
        width: max-content;
        min-width: 640px;
    }
}

@media (max-width: 479px) {
     .univ_search_box .btn_form_delete {
       min-height:20px
    }
    .m-hide{display:none !important;}
    :root .hd_modal { font-size: 16px; }

    :root .ly_inner,
    :root .inner,
    :root .container { padding-inline: 0.875rem; }

    :root .ml_wrap .container,
    :root .ml_wrap .inner { padding-inline: 0.875rem; }

    :root h1,
    :root .page_title,
    :root .main_title {
        font-size: clamp(1.375rem, 7vw, 1.75rem);
        line-height: 1.3;
    }

    :root h2,
    :root .section_title,
    :root .m_titbox,
    :root .sub_contents .sub_title h2,
    :root #loading_icon_correct1 h2 {
        font-size: clamp(1.125rem, 5.5vw, 1.375rem);
        line-height: 1.4;
    }

    :root .btnbox > a,
    :root .btnbox > button,
    :root .btnbox > .btn,
    :root .button_group > a,
    :root .button_group > button,
    :root .button_group > .btn,
    :root .btn_modal_row_main > a,
    :root .btn_modal_row_main > button,
    :root .btn_modal_row_main > .btn {
        width: 100%;
        justify-content: center;
    }


    :root .modal_box,
    :root .cont_modal_main,
    :root .layer_pop_common {
        width: calc(100vw - 1.5rem);
        max-width: calc(100vw - 1.5rem);
        max-height: calc(100vh - 1.5rem);
        max-height: calc(100dvh - 1.5rem);
        overflow-y: auto;
    }

    :root .ly_inner { padding-inline: 0.875rem; }

    :root .sub.auland .fl_layout .ly_inner { padding-inline: 0.875rem; }

    :root .wrap_modal_main .cont_modal_main {
        width: calc(100vw - 1.5rem);
        max-height: calc(100vh - 1.5rem);
        max-height: calc(100dvh - 1.5rem);
        overflow-y: auto;
    }

    :root .layer_pop_common.gpt {
        width: calc(100vw - 1.5rem);
        max-width: calc(100vw - 1.5rem);
        max-height: calc(100vh - 1.5rem);
        max-height: calc(100dvh - 1.5rem);
        overflow-y: auto;
    }
}
