#contentQuestionLinks {width: 100%; box-sizing: border-box; color-scheme: light; max-width: 1120px; margin: 0 auto; padding: 20px 20px 110px; color: var(--text-primary, #1E293B); overflow-wrap: anywhere; -webkit-tap-highlight-color: rgba(0, 108, 212, .12);}
#contentQuestionLinks h1 {font-size: 20px; line-height: 1.4; margin: 0 0 8px; text-wrap: balance;}
#contentQuestionLinks h2 {font-size: 16px; line-height: 1.5; margin: 0 0 6px; text-wrap: balance;}
#contentQuestionLinks p {font-size: 14px; line-height: 1.7; margin: 8px 0;}
#contentQuestionLinks a {color: var(--text-link, #006CD4); text-underline-offset: 3px;}
#contentQuestionLinks a:hover {color: var(--color-primary-800, #0052A8); text-decoration: underline;}
#contentQuestionLinks :is(a,button,input):focus-visible {outline: 2px solid var(--text-link, #006CD4); outline-offset: 4px;}
#contentQuestionLinks .cql-notice {background: var(--color-primary-50, #E8F4FF); color: var(--color-primary-900, #003B7A); padding: 10px 14px; border-radius: 8px;}
#contentQuestionLinks .cql-actions > div {display: flex; flex-wrap: nowrap; align-items: center; gap: 12px; width: 100%;}
#contentQuestionLinks .cql-actions a {display: inline-flex; align-items: center; gap: 4px; min-height: 44px;}
#contentQuestionLinks #cql-status:not(:empty) {display: block; margin-top: 8px; font-size: 14px;}
#contentQuestionLinks .cql-button {display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 16px; border: 1px solid var(--border-medium, #CBD5E1); border-radius: 8px; background: var(--bg-card, #FFFFFF); color: var(--text-primary, #1E293B); font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; touch-action: manipulation; box-sizing: border-box;}
#contentQuestionLinks .cql-button:hover {background: var(--bg-subtle, #F1F5F9); text-decoration: none; color: var(--color-primary-900, #003B7A);}
#contentQuestionLinks .cql-button.is-primary {background: var(--text-link, #006CD4); border-color: var(--color-primary-700, #006CD4); color: var(--color-white, #FFFFFF);}
#contentQuestionLinks .cql-button.is-primary:hover {background: var(--color-primary-800, #0052A8);}
#contentQuestionLinks .cql-button:disabled {opacity: .65; cursor: wait;}
#contentQuestionLinks .cql-list {list-style: none; padding: 0; margin: 0;}
#contentQuestionLinks .cql-row {display: flex; flex-direction: column; align-items: stretch; gap: 10px; padding: 14px 12px; border-bottom: 1px solid var(--border-light, #E2E8F0);}
#contentQuestionLinks .cql-product > .cql-button {flex-shrink: 0;}
#contentQuestionLinks .cql-row > div {min-width: 0; width: 100%;}
#contentQuestionLinks .cql-question {display: flex; align-items: flex-start; gap: 8px;}
#contentQuestionLinks .cql-row h2 {flex-shrink: 0; margin: 0; font-size: 16px; line-height: 1.65;}
#contentQuestionLinks .cql-question > .cql-preview {min-width: 0; flex: 1;}
#contentQuestionLinks .cql-breadcrumb {display: inline; list-style: none; margin: 0; padding: 0; color: var(--text-secondary, #5B6B82); font-size: 13px; font-weight: 400; line-height: 1.65; white-space: nowrap;}
#contentQuestionLinks .cql-breadcrumb li {display: inline;}
#contentQuestionLinks .cql-breadcrumb li:last-child > span:last-child {color: var(--text-primary, #1E293B); font-weight: 500;}
#contentQuestionLinks .cql-crumb-separator {margin-inline: 5px;}
#contentQuestionLinks .cql-row-footer {display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 2px; padding-top: 12px; border-top: 1px solid var(--border-light, #E2E8F0);}
#contentQuestionLinks .cql-source {display: flex; align-items: center; gap: 6px; min-width: 0; min-height: 44px; flex: 1; border-radius: 4px; color: var(--text-secondary, #5B6B82); font-size: 13px; line-height: 1.65; text-decoration: none; touch-action: manipulation;}
#contentQuestionLinks .cql-source:hover .cql-breadcrumb {color: var(--text-link, #006CD4);}
#contentQuestionLinks .cql-source:hover .cql-source-label {background: var(--border-light, #E2E8F0);}
#contentQuestionLinks .cql-source:focus-visible {outline: 2px solid var(--text-link, #006CD4); outline-offset: 2px;}
#contentQuestionLinks .cql-source-label {display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; padding: 4px 6px; border-radius: 4px; background: var(--bg-subtle, #F1F5F9); color: var(--text-secondary, #5B6B82); font-weight: 600;}
#contentQuestionLinks .cql-source-viewport {min-width: 0; flex: 1; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; overscroll-behavior-x: contain; white-space: nowrap;}
#contentQuestionLinks .cql-source-viewport::-webkit-scrollbar {display: none;}
#contentQuestionLinks .cql-source-track {width: max-content; white-space: nowrap;}
#contentQuestionLinks .is-free .cql-row-footer {border-top-color: var(--color-primary-200, #B9DCFF);}
#contentQuestionLinks .is-free .cql-source-label {background: var(--bg-card, #FFFFFF);}
#contentQuestionLinks .cql-row-footer > .cql-button {flex-shrink: 0; margin-left: auto; font-size: 13px; padding: 8px 10px; gap: 4px;}
#contentQuestionLinks .cql-row-footer > .cql-button .cql-icon {width: 16px; height: 16px;}
#contentQuestionLinks .cql-row-footer > .cql-row-unlock {padding-inline: 0; border-color: transparent; background: transparent; color: var(--text-link, #006CD4);}
#contentQuestionLinks .cql-row-footer > .cql-row-unlock:hover {background: transparent; text-decoration: underline; text-underline-offset: 3px;}
#contentQuestionLinks .cql-row-footer:has(details[open]) {position: relative; display: block;}
#contentQuestionLinks .cql-row-footer details[open] > summary {padding-right: 128px;}
#contentQuestionLinks .cql-row-footer:has(details[open]) > .cql-button {position: absolute; top: 0; right: 0;}
#contentQuestionLinks .cql-row.is-free {background: var(--color-primary-50, #E8F4FF); border-radius: 12px; border-bottom: 0; margin-bottom: 4px;}
#contentQuestionLinks .cql-relation {margin: 4px 0; color: var(--text-secondary, #5B6B82); font-size: 13px;}
#contentQuestionLinks .is-free .cql-relation {color: var(--color-primary-900, #003B7A);}
#contentQuestionLinks .cql-products {margin: 16px 0; scroll-margin-top: 12px; padding-top: 0;}
#contentQuestionLinks .cql-product {display: flex; flex-direction: column; justify-content: space-between; gap: 12px; padding: 14px; margin: 0; border: 1px solid var(--border-medium, #CBD5E1); border-radius: 12px; scroll-snap-align: start; min-width: 0;}
#contentQuestionLinks .cql-product > div {min-width: 0;}
#contentQuestionLinks .cql-product-info {display: flex; flex-direction: column; align-items: stretch; gap: 12px; width: 100%;}
#contentQuestionLinks .cql-product-info > div {min-width: 0;}
#contentQuestionLinks .cql-product-thumb, #contentQuestionLinks .cql-product-fallback {display: flex; align-items: center; justify-content: center; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; flex-shrink: 0; border-radius: 6px; background: var(--bg-subtle, #F1F5F9); color: var(--text-link, #006CD4);}
#contentQuestionLinks .cql-product h3 {margin: 0; font-size: 14px; font-weight: 600; line-height: 1.5; text-wrap: pretty;}
#contentQuestionLinks .cql-product p {margin: 6px 0 0; font-size: 13px;}
#contentQuestionLinks .cql-product > .cql-button {width: 100%;}
#contentQuestionLinks .cql-product b {color: var(--text-link, #006CD4); font-weight: 600;}
#contentQuestionLinks .cql-product .cql-product-detail, #contentQuestionLinks .cql-purchase-note {font-size: 13px; color: var(--text-secondary, #5B6B82);}
#contentQuestionLinks .cql-icon, #mocktest .cql-bank-connection .cql-icon {flex-shrink: 0;}
#contentQuestionLinks .cql-heading .cql-notice {font-size: 13px; margin-top: 10px; padding: 6px 10px;}
#contentQuestionLinks img {max-width: 100%; height: auto;}
#contentQuestionLinks table {max-width: 100%;}
#contentQuestionLinks [hidden] {display: none !important;}
@media (max-width: 599px) {
#contentQuestionLinks {padding: 20px 16px 100px;}
#contentQuestionLinks .cql-product {align-items: flex-start; flex-direction: column; gap: 10px;}
#contentQuestionLinks .cql-product .cql-button {width: 100%;}
#contentQuestionLinks h1 {font-size: 19px;}
}
#cql-admin .tbl_wrap {overflow-x: auto; overscroll-behavior-x: contain;}
#cql-admin form {margin-block: 16px;}
#cql-admin input, #cql-admin select {min-height: 44px; font-size: 16px; color: var(--text-primary, #1E293B); background: var(--bg-card, #FFFFFF);}
#cql-admin input:focus-visible, #cql-admin select:focus-visible, #cql-admin button:focus-visible {outline: 2px solid var(--text-link, #006CD4); outline-offset: 3px;}
#cql-dialog {position: fixed; inset: 0; margin: auto; width: min(100% - 32px, 760px); max-width: none; max-height: calc(100dvh - 40px); padding: 0; border: 0; border-radius: 16px; color: var(--text-primary, #1E293B); background: var(--bg-card, #FFFFFF); box-shadow: 0 16px 48px rgba(15, 23, 42, .2);}
#cql-dialog[open] {display: flex; flex-direction: column;}
#cql-dialog::backdrop {background: rgba(15, 23, 42, .45);}
#cql-dialog .cql-dialog-bar {display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 8px 20px; border-bottom: 1px solid var(--border-light, #E2E8F0); flex-shrink: 0;}
#cql-dialog .cql-dialog-bar strong {font-size: 16px;}
#cql-dialog .cql-dialog-bar button, #cql-dialog .cql-dialog-content > button {min-height: 44px; padding: 8px 16px; border: 1px solid var(--border-medium, #CBD5E1); border-radius: 8px; background: var(--bg-card, #FFFFFF); color: var(--text-primary, #1E293B); font-size: 14px; cursor: pointer;}
#cql-dialog button:focus-visible {outline: 2px solid var(--text-link, #006CD4); outline-offset: 3px;}
#cql-dialog .cql-dialog-content {overflow: auto; overscroll-behavior: contain; min-height: 0;}
#cql-dialog .cql-dialog-message {padding: 24px; font-size: 16px;}
#cql-dialog #contentQuestionLinks {padding-bottom: 20px;}
#mocktest .cql-bank-connection {position: fixed; z-index: 80; left: var(--cql-float-left, 0px); top: var(--cql-float-top, 0px); right: auto; bottom: auto; margin: 0; visibility: hidden;}
#mocktest .cql-bank-connection ~ #mocktest_list {padding-bottom: 68px;} /* 버튼(44px)+위아래 12px 자리를 문제 영역 끝에 비워 둔다. 저장된 문제처럼 영역이 짧으면 버튼이 마지막 선지를 가렸다(2026-10-28) */
#mocktest .cql-bank-connection a {display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 14px; box-sizing: border-box; color: var(--text-link, #006CD4); background: var(--bg-card, #FFFFFF); border: 1px solid var(--border-medium, #CBD5E1); border-radius: 12px; box-shadow: 0 4px 16px rgba(15, 23, 42, .12); font-size: 14px; font-weight: 600; text-decoration: none; touch-action: manipulation;}
#mocktest .cql-bank-connection a:hover {background: var(--color-primary-50, #E8F4FF); color: var(--color-primary-900, #003B7A);}
#mocktest .cql-bank-connection a:focus-visible {outline: 2px solid var(--text-link, #006CD4); outline-offset: 3px;}
#mocktest .cql-bank-connection a .cql-icon {width: 18px; height: 18px;}
#mocktest .cql-bank-connection a span {font-size: 13px; font-weight: 500; font-variant-numeric: tabular-nums;}
@media (max-width: 599px) {
#cql-dialog {width: calc(100% - 16px); max-height: calc(100dvh - 24px);}
#cql-dialog .cql-dialog-bar {padding-inline: 16px;}
#contentQuestionLinks .cql-row {padding: 12px 10px; gap: 10px;}
#contentQuestionLinks .cql-row-footer {gap: 12px; padding-top: 10px;}
#contentQuestionLinks .cql-product {padding: 12px;}
}


#theory .cql-year-entry {position: relative; display: inline-flex; vertical-align: middle; margin: 8px 0 8px 10px; max-width: 100%; font-size: 13px; letter-spacing: 0;}
#theory .cql-year-button {display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 12px; border: 1px solid var(--text-link, #006CD4); border-radius: 8px; background: var(--bg-card, #FFFFFF); color: var(--text-link, #006CD4); font: inherit; font-weight: 600; line-height: 1.5; cursor: pointer; touch-action: manipulation;}
#theory .cql-year-button:hover {background: var(--color-primary-50, #E8F4FF); color: var(--color-primary-900, #003B7A);}
#theory .cql-year-button:focus-visible {outline: 2px solid var(--text-link, #006CD4); outline-offset: 4px;}
/* 제목이 본문 첫 줄이면 위쪽 툴팁이 본문 영역(overflow:hidden)에 잘리므로 버튼 오른쪽에 띄운다 */
#theory .cql-year-tooltip {position: absolute; z-index: 3; top: 4px; left: calc(100% + 10px); width: max-content; max-width: min(240px, calc(100vw - 200px)); padding: 8px 12px; border-radius: 8px; background: var(--color-primary-900, #003B7A); color: var(--color-white, #FFFFFF); font-size: 13px; font-weight: 500; line-height: 1.5; white-space: normal; opacity: 0; visibility: hidden; pointer-events: none; transform: translateX(-3px); transition: opacity .18s ease-out, transform .18s ease-out, visibility .18s;}
#theory .cql-year-tooltip::after {content: ""; position: absolute; top: 12px; left: -10px; border: 5px solid transparent; border-right-color: var(--color-primary-900, #003B7A);}
#theory .cql-year-entry:is(.is-hinting,:hover,:focus-within) .cql-year-tooltip {opacity: 1; visibility: visible; transform: translateX(0);}
#theory .cql-year-entry.is-hinting .cql-year-button {animation: cql-year-nudge 1.4s ease-in-out 3;}
@keyframes cql-year-nudge {0%, 100% {background-color: var(--bg-card, #FFFFFF);} 50% {background-color: var(--color-primary-100, #D0E8FF);}}
@media (prefers-reduced-motion: reduce) {
#theory .cql-year-entry.is-hinting .cql-year-button {animation: none;}
#theory .cql-year-tooltip {transition: none; transform: none;}
}
@media (max-width: 599px) {
#theory .cql-year-entry {display: flex; width: max-content; margin: 10px 0 8px;}
}

#contentQuestionLinks .cql-product-list {display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, calc((100% - 12px) / 2)); gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; padding: 4px 2px 12px; scrollbar-color: var(--border-medium, #CBD5E1) transparent;}
#contentQuestionLinks .cql-list-tools {display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin: 16px 0; font-size: 13px;}
#contentQuestionLinks .cql-list-tools select {min-height: 44px; max-width: 100%; min-width: 0; flex: 1 1 220px; padding: 8px 10px; border: 1px solid var(--border-medium, #CBD5E1); border-radius: 8px; font-size: 14px; background: var(--bg-card, #FFFFFF); color: var(--text-primary, #1E293B);}
#contentQuestionLinks #cql-list-count {flex-basis: 100%; color: var(--text-secondary, #5B6B82); font-variant-numeric: tabular-nums;}
#contentQuestionLinks .cql-question-products {min-width: 0; flex: 1; margin: 0; font-size: 13px; line-height: 1.6; color: var(--text-secondary, #5B6B82);}
#contentQuestionLinks .cql-question-products summary {cursor: pointer; padding: 8px 0; min-height: 44px; box-sizing: border-box;}
#contentQuestionLinks .cql-question-products summary > span {white-space: nowrap; color: var(--text-secondary, #5B6B82);}
#contentQuestionLinks .cql-question-products a {display: flex; align-items: center; min-height: 44px; color: var(--text-secondary, #5B6B82); text-decoration: underline;}
#contentQuestionLinks .cql-more {display: flex; width: 100%; margin-top: 16px;}

#contentQuestionLinks .cql-products > summary {cursor: pointer; min-height: 44px; padding: 8px 0; box-sizing: border-box; font-size: 14px; font-weight: 600; color: var(--text-link, #006CD4);}
#contentQuestionLinks .cql-products > summary:hover {text-decoration: underline;}
#contentQuestionLinks .cql-products > summary:focus-visible {outline: 2px solid var(--text-link, #006CD4); outline-offset: 3px;}
#contentQuestionLinks .cql-overview {display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 13px; color: var(--text-secondary, #5B6B82);}
#contentQuestionLinks .cql-actions {position: relative; margin: 8px 0 0; padding: 0;}
#contentQuestionLinks .cql-save-confirm {display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: 14px; font-weight: 600; color: var(--color-primary-900, #003B7A);}
#contentQuestionLinks .cql-save-open {margin-left: auto; font-size: 14px; font-weight: 600;}
#contentQuestionLinks .cql-actions #cql-status {margin-top: 0; font-size: 13px;}
#contentQuestionLinks .cql-actions[data-cql-saved="1"] #cql-status {position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap;}
#contentQuestionLinks .cql-preview {font-size: 14px; line-height: 1.7;}
#contentQuestionLinks .cql-preview-stem {font-size: 16px; font-weight: 600; line-height: 1.65;}
#contentQuestionLinks .cql-preview :is(p,ul,ol) {margin: 6px 0; font-size: inherit; line-height: inherit;}
#contentQuestionLinks .cql-preview-stem > :first-child {margin-top: 0;}
#contentQuestionLinks .cql-preview-choices {padding-left: 26px;}
#contentQuestionLinks .cql-preview-choices > li {display: list-item; list-style: decimal outside; padding: 2px 0 2px 4px;}
#contentQuestionLinks .cql-preview img {max-width: 100%; height: auto; display: block; margin: 8px 0;}
#contentQuestionLinks .cql-preview-example {font-weight: 400; margin: 8px 0;}
#contentQuestionLinks .cql-preview table {width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 14px;}
#contentQuestionLinks .cql-preview :is(td,th) {border: 1px solid var(--border-light, #E2E8F0); padding: 6px; overflow-wrap: anywhere;}

#mocktest[data-cql-locked="1"] {filter: blur(5px); pointer-events: none; user-select: none;}
#cql-dialog.is-access-gate::backdrop {background: rgba(15, 23, 42, .35);}
#contentQuestionLinks.cql-gate {padding-bottom: 12px;}
#contentQuestionLinks.cql-gate .cql-gate-description {color: var(--text-secondary, #5B6B82); margin: 8px 0 16px;}
#contentQuestionLinks.cql-gate .cql-products > summary {font-weight: 500; color: var(--text-secondary, #5B6B82);}
#contentQuestionLinks .cql-gate-actions {display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0;}
#contentQuestionLinks .cql-gate-actions > a {flex: 1 1 180px;}

#cql-dialog.is-access-gate {width: min(100% - 16px, 600px);}
#contentQuestionLinks.cql-gate .cql-product-list {grid-auto-columns: minmax(260px, calc(100% - 24px));}
#contentQuestionLinks.cql-gate .cql-product-list:has(> .cql-product:only-child) {grid-auto-columns: minmax(0, 1fr);}
#contentQuestionLinks.cql-gate .cql-product-info {flex-direction: row; align-items: flex-start;}
#contentQuestionLinks.cql-gate :is(.cql-product-thumb,.cql-product-fallback) {width: 104px; height: auto; flex-shrink: 0;}

#mocktest .cql-bank-connection[data-positioned="1"] {visibility: visible;}
#mocktest[data-cql-locked="1"] .cql-bank-connection, #mocktest:has(#omr_wr.show) .cql-bank-connection, html[data-merci-pen-active="question"] #mocktest .cql-bank-connection {visibility: hidden;}

#merci-pen-trial[data-kind="question"] #merci-pen-launch[data-cql-contained="1"][data-floating="1"] {left: var(--cql-pen-left) !important; top: var(--cql-pen-top) !important; right: auto !important; bottom: auto !important;}

#mocktest[data-cql-pen-folded="1"] #txt_navi {padding-right: 64px; box-sizing: border-box; min-width: 0;}

#merci-pen-trial[data-kind="question"] #mp-status[data-cql-contained="1"] {left: var(--cql-status-left); right: auto; top: var(--cql-status-top); bottom: auto; max-width: var(--cql-status-width); box-sizing: border-box;}

#mocktest[data-cql-pen-folded="1"] .top_navi_new_wrap {min-height: 64px; box-sizing: border-box;}

#merciUX #cql-saved {grid-column: 1 / -1; min-height: 0; display: block; scroll-margin-top: 88px; color: var(--text-primary, #1E293B);}
#cql-saved .cql-saved-heading {display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 16px;}
#cql-saved .cql-saved-heading h3 {display: flex; align-items: center; gap: 8px; margin: 0; font-size: 16px; font-weight: 700; line-height: 1.5;}
#cql-saved .cql-saved-heading > span {font-size: 13px; color: var(--text-secondary, #5B6B82);}
#cql-saved .cql-icon {width: 18px; height: 18px; flex-shrink: 0;}
#cql-saved .cql-saved-list {list-style: none; margin: 0; padding: 0;}
#cql-saved .cql-saved-row {display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; padding: 20px 0; border-top: 1px solid var(--border-light, #E2E8F0);}
#cql-saved .cql-saved-copy {min-width: 0; flex: 1; overflow-wrap: anywhere;}
#cql-saved h4 {margin: 0; font-size: 16px; font-weight: 600; line-height: 1.5; text-wrap: pretty;}
#cql-saved .cql-saved-meta {margin: 6px 0 0; font-size: 13px; line-height: 1.6; color: var(--text-secondary, #5B6B82); font-variant-numeric: tabular-nums;}
#cql-saved .cql-saved-access {display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 10px 0 0; font-size: 13px; line-height: 1.6; font-variant-numeric: tabular-nums; color: var(--text-link, #006CD4);}
#cql-saved .cql-saved-access > span {display: inline-flex; align-items: center; gap: 4px;}
#cql-saved .cql-saved-access .is-locked {color: var(--text-secondary, #5B6B82);}
#cql-saved .cql-saved-access .cql-icon {width: 15px; height: 15px;}
#cql-saved .cql-saved-actions {display: flex; flex-direction: column; align-items: stretch; gap: 4px; flex-shrink: 0;}
#cql-saved .cql-saved-actions a {display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; box-sizing: border-box; font-size: 14px; font-weight: 600; text-decoration: none; touch-action: manipulation;}
#cql-saved .cql-saved-open {padding: 10px 16px; border: 1px solid var(--border-medium, #CBD5E1); border-radius: 8px; color: var(--text-link, #006CD4); background: var(--bg-card, #FFFFFF);}
#cql-saved .cql-saved-open:hover {background: var(--color-primary-50, #E8F4FF); color: var(--color-primary-900, #003B7A);}
#cql-saved .cql-saved-actions .cql-saved-theory {font-size: 13px; font-weight: 400; color: var(--text-secondary, #5B6B82); text-decoration: underline; text-underline-offset: 3px;}
#cql-saved .cql-saved-theory:hover {color: var(--text-link, #006CD4);}
#cql-saved a:focus-visible {outline: 2px solid var(--text-link, #006CD4); outline-offset: 3px;}
#cql-saved .cql-saved-note {display: flex; align-items: flex-start; gap: 8px; margin: 0; padding-top: 16px; border-top: 1px solid var(--border-light, #E2E8F0); font-size: 13px; line-height: 1.7; color: var(--text-secondary, #5B6B82);}
#cql-saved .cql-saved-note .cql-icon {margin-top: 2px;}
@media (max-width: 599px) {
#cql-saved .cql-saved-row {flex-direction: column; align-items: stretch;}
#cql-saved .cql-saved-actions {flex-direction: row; align-items: center; gap: 16px;}
#cql-saved .cql-saved-open {flex: 1;}
}

#contentQuestionLinks .cql-products .cql-product-list {display: block;}
#contentQuestionLinks .cql-products .cql-product {width: 100%; box-sizing: border-box;}

#contentQuestionLinks .cql-product-actions {width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; align-items: start;}
#contentQuestionLinks .cql-product-actions:not(:has(.cql-actions)) {grid-template-columns: minmax(0, 1fr);}
#contentQuestionLinks .cql-product-actions .cql-actions {margin: 0; min-width: 0;}
#contentQuestionLinks .cql-product-actions .cql-save-controls {display: block;}
#contentQuestionLinks .cql-product-actions .cql-save-confirm {display: none;}
#contentQuestionLinks .cql-product-actions .cql-button {width: 100%; min-width: 0; padding-inline: 8px; gap: 6px; font-size: 13px;}
#contentQuestionLinks .cql-product-actions .cql-icon {width: 16px; height: 16px;}
#contentQuestionLinks .cql-product-actions .cql-save-open {margin: 0;}
/* CSV 학습 개념: 원문·개인 필기와 분리한 이론의 관련 문제 탐색. */
#theory .ncc-theory-links {margin:16px 0 24px; padding:0; border:0; background:none;}
#theory .ncc-tools {display:flex; flex-wrap:wrap; align-items:center; gap:8px;}
#theory .ncc-tools .s27-blind-bar {display:contents;}
#theory .ncc-tools [hidden] {display:none !important;}
#theory :is(.ncc-toggle,.ncc-tools .s27-blind-bar :is(button,a)) {display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; margin:0; padding:8px 16px; border:1px solid var(--border-light,#dbe4ef); border-radius:999px; background:var(--bg-card,#fff); color:var(--text-primary,#1e293b); font:inherit; font-size:14px; font-weight:600; line-height:1.4; cursor:pointer; touch-action:manipulation;}
#theory :is(.ncc-toggle,.ncc-tools .s27-blind-bar :is(button,a)):hover {border-color:var(--text-link,#006cd4); background:var(--color-primary-50,#e8f4ff);}
#theory .ncc-toggle span {font-size:13px; font-weight:400; color:var(--text-secondary,#52647b); font-variant-numeric:tabular-nums;}
#theory .ncc-toggle::after {content:""; width:7px; height:7px; margin:-3px 0 0 2px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform .15s ease;}
#theory .ncc-toggle[aria-expanded="true"] {border-color:var(--text-link,#006cd4); background:var(--color-primary-50,#e8f4ff); color:var(--text-link,#006cd4);}
#theory .ncc-toggle[aria-expanded="true"]::after {margin-top:3px; transform:rotate(-135deg);}
#theory .ncc-tools .s27-blind-bar button[aria-pressed="true"] {border-color:var(--text-link,#006cd4); background:var(--text-link,#006cd4); color:#fff;}
#theory .ncc-concept-list {display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; padding:12px; border-radius:12px; background:var(--bg-subtle,#f1f5f9);}
#theory .ncc-concept-list[hidden] {display:none;}
#theory .ncc-concept-list a {display:inline-flex; align-items:center; gap:12px; min-height:44px; max-width:100%; box-sizing:border-box; padding:10px 12px; border:0; border-radius:6px; color:var(--text-primary,#1e293b); background:var(--bg-card,#fff); font-size:14px; font-weight:600; line-height:1.5; text-decoration:none; overflow-wrap:anywhere; touch-action:manipulation;}
#theory .ncc-concept-list a span {flex-shrink:0; font-size:13px; font-weight:400; color:var(--text-secondary,#52647b); font-variant-numeric:tabular-nums;}
#theory .ncc-concept-list a:hover {color:var(--text-link,#006cd4); background:var(--color-primary-50,#e8f4ff);}
#theory .ncc-concept-list a.is-weak {background:var(--color-warning-light,#fff6e9); color:var(--color-warning-dark,#873d0c); box-shadow:inset 0 0 0 1px var(--color-warning,#f59e0b);}
#theory .ncc-concept-list a.is-weak span {color:var(--color-warning-dark,#873d0c);}
#theory .ncc-theory-links :is(a,button):focus-visible {outline:3px solid var(--fill-brand,#2097ff); outline-offset:3px;}
@media (prefers-reduced-motion: reduce) {
#theory .ncc-toggle::after {transition:none;}
}
