/* AI create: optional infrequent structural tools; 6-stage picker and import stay visible. */
.q-ai-advanced{margin:12px 0;border:1px solid #dbe5ef;border-radius:10px;background:#fafcff}
.q-ai-advanced>summary{padding:15px 18px;cursor:pointer;font-weight:750;color:#1e3451}
.q-ai-advanced>summary span{font-size:12px;font-weight:400;color:#6c7e92;margin-left:10px}
.q-ai-advanced-content{padding:0 18px 16px}
.q-ai-main-picker{margin:18px 0 14px}
.q-ai-main-picker h3{margin:0 0 5px;font-size:16px}
.q-ai-production-dialog{width:min(1040px,calc(100vw - 20px));max-height:calc(100vh - 20px);padding:0;border:1px solid #b9cada;border-radius:14px;box-shadow:0 20px 70px #0c21404d;color:#253a53}
.q-ai-production-dialog::backdrop{background:#07192fb8}
.q-ai-dialog-inner{padding:18px 22px 25px;overflow-y:auto;max-height:calc(100vh - 65px)}
.q-ai-dialog-head{display:flex;gap:12px;justify-content:space-between;align-items:start}
.q-ai-dialog-head h2{margin:0 0 7px}
.q-ai-review-summary{padding:12px;background:#f2f7fc;border:1px solid #dbe5ef;border-radius:8px;font-size:13px}
.q-ai-review-pages{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;margin:14px 0}
.q-ai-review-item{border:1px solid #dbe5ef;border-radius:9px;padding:12px;overflow:hidden;background:white}
.q-ai-review-item h3{margin:0 0 8px;font-size:14px}.q-ai-review-item p{font-size:12px;overflow-wrap:anywhere}
.q-ai-review-item pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:190px;overflow-y:auto;font-size:11px;padding:9px;background:#f5f7fa;border:1px solid #e1e7ed;border-radius:6px}
.q-ai-review-item .q-ai-math-preview{max-width:100%;overflow:auto;max-height:250px}.q-ai-review-item .q-ai-math-preview svg{max-width:100%;height:auto}
.q-ai-review-item label{display:flex;gap:8px;align-items:center;font-size:13px;padding-top:9px}
.q-ai-review-nav{justify-content:center;align-items:center;margin:10px 0}
@media(max-width:640px){.q-ai-dialog-inner{padding:12px}.q-ai-dialog-head{flex-wrap:wrap}.q-ai-production-dialog{max-height:98vh}}

.q-ai-reading{margin:9px 0;border-left:3px solid #9ab8d4;padding:4px 10px;background:#f8fbff}
.q-ai-reading strong{font-size:12px}.q-ai-reading p{font-size:13px;margin:5px 0;white-space:pre-wrap;line-height:1.6}
.q-ai-review-item details{border-top:1px solid #e7ecf2;margin-top:6px;padding-top:6px}
.q-ai-review-item details summary{font-size:12px;cursor:pointer;color:#395b80}
.q-ai-choice-list,.q-ai-part-list,.q-ai-list{margin:6px 0 6px 18px;padding:0}
.q-ai-choice-list li,.q-ai-part-list li,.q-ai-list li{font-size:13px;line-height:1.6;white-space:pre-wrap;margin:2px 0}
.q-ai-choice-index{font-weight:700;color:#395b80}
.q-ai-table-preview{margin:6px 0;padding:6px 8px;background:#fbfcfe;border:1px solid #e3eaf2;border-radius:6px}
.q-ai-table-preview p{margin:4px 0}
.q-ai-math-inline,.q-ai-math-block{display:inline-flex;align-items:center;min-height:1.2em;max-width:100%;overflow:auto;vertical-align:middle}
.q-ai-math-block{display:block;margin:6px 0}
.q-ai-math-placeholder{color:#395b80;background:#f4f8fc;border:1px dashed #c7d7e7;border-radius:5px;padding:2px 6px}
.q-ai-math-inline svg,.q-ai-math-block svg{max-width:100%;height:auto}
.q-ai-generic>p strong,.q-ai-passage-list>p strong{color:#395b80}

/* v0.10.53: AI production is a readable single-column workflow at every viewport.
   Scope to ai-create only; shared .q-columns and other question modules are untouched. */
.q-ai-production-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:18px}
.q-ai-production-stack>.q-card{min-width:0}
.q-ai-production-stack [data-production-form]{min-width:0}
.q-ai-production-stack .q-production-options{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.q-ai-production-stack .q-production-options label{min-width:0;width:100%}
.q-ai-production-stack .q-production-options input{max-width:none;width:100%;box-sizing:border-box}
.q-ai-production-stack [data-production-form]>.q-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.q-ai-production-stack [data-production-form]>.q-actions>.q-button{width:100%;min-width:0;white-space:normal}
.q-ai-production-stack [data-production-form] textarea,
.q-ai-production-stack [data-production-form] select{max-width:100%;box-sizing:border-box}

/* v0.10.54: rendered review preview—not a 3-column JSON inspector */
.q-ai-production-dialog{width:min(1280px,calc(100vw - 24px))}
.q-ai-review-pages{grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:16px}
.q-ai-review-item{min-width:0;padding:16px}
.q-ai-review-item h3{font-size:15px;line-height:1.5}
.q-ai-render-state{border-radius:6px;background:#edf5ff;color:#16436e;padding:8px 10px;font-weight:600;font-size:12px}
.q-ai-render-state[data-error="1"]{background:#fff2ee;color:#a22f20}
.q-ai-rendered-question{background:#fff;color:#14253a;border:1px solid #dde7f2;border-radius:8px;padding:12px 14px;font-family:system-ui,"Malgun Gothic",sans-serif}
.q-ai-render-section{margin:12px 0;padding:0 0 11px;border-bottom:1px solid #e5edf4}
.q-ai-render-section:last-child{border-bottom:0}
.q-ai-render-section h4{font-size:13px;margin:0 0 8px;color:#335575}
.q-ai-render-sheet{font-size:15px;line-height:1.85;overflow-wrap:anywhere}
.q-ai-render-sheet p{font-size:15px;line-height:1.85;margin:6px 0;white-space:pre-wrap}
.q-ai-render-choices{list-style:none;padding:0;margin:8px 0;display:grid;grid-template-columns:minmax(0,1fr);gap:5px}
.q-ai-render-choices li{display:flex;align-items:baseline;gap:10px;font-size:15px;line-height:1.8}
.q-ai-render-choices .q-ai-choice-index{font-weight:bold;min-width:1.8em;font-size:16px}
.q-ai-render-table{border-collapse:collapse;width:100%;font-size:14px;margin:10px 0}
.q-ai-render-table td{border:1px solid #cedcec;padding:7px 9px}
.q-ai-render-list{margin:9px 0;padding-left:22px}
.q-ai-render-group{padding:10px 12px;border:1px solid #d4e1ee;margin:8px 0;border-radius:6px}
.q-ai-render-issue{padding:9px 11px;background:#fff1ee;border:1px solid #efc5b6;border-radius:6px;color:#9c3024}
.q-ai-inline-math,.q-ai-display-math{display:inline-flex;max-width:100%;overflow:auto;vertical-align:middle;align-items:center;min-height:1.4em}
.q-ai-display-math{display:flex;justify-content:center;margin:12px 0}
.q-ai-inline-math svg,.q-ai-display-math svg{max-width:100%;height:auto}
.q-ai-review-original{opacity:.88}
.q-ai-review-item label:has([data-review-index]:disabled){opacity:.55}
@media(max-width:680px){.q-ai-review-pages{grid-template-columns:minmax(0,1fr)}.q-ai-dialog-inner{padding:12px}.q-ai-rendered-question{padding:9px}}

/* v0.10.55: inspect one full-width problem at a time. Math must be readable. */
.q-ai-review-pages{grid-template-columns:minmax(0,1fr)!important;gap:18px}
.q-ai-production-dialog{width:min(1250px,calc(100vw - 24px))}
.q-ai-review-item{padding:18px 20px}
.q-ai-rendered-question{padding:20px 24px}
.q-ai-render-sheet,.q-ai-render-sheet p{font-size:17px;line-height:1.95}
.q-ai-render-choices li{font-size:17px;line-height:1.9;gap:14px}
.q-ai-render-choices .q-ai-choice-index{font-size:18px;min-width:2em}
.q-ai-render-section h4{font-size:14px;margin-bottom:10px}
.q-ai-inline-math,.q-ai-display-math{vertical-align:middle}
.q-ai-inline-math svg,.q-ai-display-math svg{max-width:100%}
@media(max-width:640px){.q-ai-review-item{padding:12px}.q-ai-rendered-question{padding:13px}.q-ai-render-sheet,.q-ai-render-sheet p,.q-ai-render-choices li{font-size:16px}}

/* v0.10.56: official-font recovery visible at the point of failure */
.q-ai-font-recovery{border:1px solid #d8a883;background:#fff8f0;border-radius:10px;padding:14px 18px;margin:14px 0;color:#573a27}
.q-ai-font-recovery[hidden]{display:none!important}
.q-ai-font-recovery h3{font-size:16px;margin:0 0 8px}
.q-ai-font-recovery p{font-size:14px;line-height:1.75;margin:7px 0}
.q-ai-font-recovery details{padding:9px 0}
.q-ai-font-recovery details summary{font-size:14px;cursor:pointer}
.q-ai-font-recovery input[type=file]{max-width:100%;display:block;margin:9px 0}
.q-ai-font-message[data-error="1"]{color:#a02018;font-weight:650}
.q-ai-math-unrendered{border:1px dashed #c78c4f;background:#fff2de;color:#80491d;border-radius:4px;padding:0 4px;font:inherit;min-width:1.5em}
.q-ai-math-unrendered::after{content:' · 수식 미렌더';font-size:11px;font-weight:500;opacity:.75}

/* v0.10.57: installation/status access remains visible outside the modal. */
.q-ai-font-entry{display:flex;align-items:flex-start;flex-direction:column;gap:8px;background:#fff8eb;border:1px solid #d6ac6e;border-radius:9px;padding:12px 15px;margin:12px 0 16px;color:#604516}
.q-ai-font-entry strong{font-size:14px}.q-ai-font-entry span{font-size:13px;line-height:1.55}
.q-ai-font-toolbar{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fff0e6;border:1px solid #cb9375;border-radius:8px;padding:11px 13px;margin:10px 0}
.q-ai-font-toolbar strong{font-size:14px;color:#89321f;margin-right:auto}
.q-ai-font-toolbar[hidden]{display:none!important}
.q-ai-font-recovery{scroll-margin-top:80px}
@media(max-width:640px){.q-ai-font-toolbar{position:sticky;top:0}.q-ai-font-toolbar .q-button{max-width:100%;white-space:normal}}
.q-ai-font-runtime{width:100%;padding:10px 12px;border:1px solid #cbdcef;border-radius:7px;background:#f4f8ff;line-height:1.5;font-size:13px;overflow-wrap:anywhere}
.q-ai-font-runtime[data-error="1"]{background:#fff3f1;color:#9d392e;border-color:#eab8b2}


/* v0.10.59 — side-by-side optical review, scoped entirely to AI review cards.
 * Never change the registered/printed E2 renderer or global question layout. */
.q-ai-review-item .q-ai-render-columns{
 display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);
 align-items:stretch;gap:16px;padding:0;background:transparent;border:0;
}
.q-ai-review-item .q-ai-render-pane{
 min-width:0;container-type:inline-size;background:#fff;
 border:1px solid #d9e4ef;border-radius:10px;
 padding:19px 20px 16px;overflow-wrap:anywhere;
}
.q-ai-review-item .q-ai-render-pane-question{background:#fff}
.q-ai-review-item .q-ai-render-pane-solution{background:#fcfdff}
.q-ai-review-item .q-ai-render-section{margin:0;padding:0;border:0}
.q-ai-review-item .q-ai-render-section+.q-ai-render-section{
 border-top:1px solid #dbe5ef;margin-top:20px;padding-top:18px;
}
.q-ai-review-item .q-ai-render-section h4{
 font-size:14px;font-weight:750;color:#1b446e;letter-spacing:0;
 margin:0 0 12px;line-height:1.4;
}
.q-ai-review-item .q-ai-render-sheet,
.q-ai-review-item .q-ai-render-sheet p{
 font-size:17px;line-height:1.85;letter-spacing:-.01em;
}
.q-ai-review-item .q-ai-render-sheet p{margin:0 0 10px;white-space:pre-wrap}
.q-ai-review-item .q-ai-render-sheet p:last-child{margin-bottom:0}
.q-ai-review-item .q-ai-render-choices{
 display:grid;grid-template-columns:minmax(0,1fr);
 padding:0;margin:14px 0 0;gap:10px;
}
.q-ai-review-item .q-ai-render-choices li{
 display:grid;grid-template-columns:26px minmax(0,1fr);
 gap:9px;align-items:baseline;min-width:0;
 font-size:17px;line-height:1.8;overflow-wrap:anywhere;
}
.q-ai-review-item .q-ai-render-choices .q-ai-choice-index{
 min-width:0;font-size:19px;line-height:1.5;
}
.q-ai-review-item .q-ai-render-answer{
 font-weight:750;color:#1b446e;font-size:19px!important;
}
.q-ai-review-item .q-ai-inline-math{
 vertical-align:-.14em;align-items:baseline;
 font-size:1.04em;max-width:100%;min-height:1.1em;
}
.q-ai-review-item .q-ai-display-math{
 font-size:1.12em;justify-content:flex-start;margin:10px 0 14px;
}
.q-ai-review-item .q-ai-inline-math svg,
.q-ai-review-item .q-ai-display-math svg{max-width:100%;height:auto}
.q-ai-review-item .q-ai-render-list{margin:10px 0;padding-left:23px}
.q-ai-review-item .q-ai-render-list li{margin-bottom:9px;line-height:1.85}
.q-ai-review-item .q-ai-render-group{margin:10px 0;padding:11px 12px}
@container (min-width:460px){
 .q-ai-render-choices[data-layout="compact"]{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .q-ai-review-item .q-ai-render-columns{grid-template-columns:minmax(0,1fr);gap:12px}
 .q-ai-review-item .q-ai-render-pane{padding:15px 16px}
 .q-ai-review-item .q-ai-render-sheet,
 .q-ai-review-item .q-ai-render-sheet p,
 .q-ai-review-item .q-ai-render-choices li{font-size:16px;line-height:1.8}
}
@media(max-width:420px){
 .q-ai-review-item .q-ai-render-pane{padding:12px}
 .q-ai-review-item .q-ai-render-choices li{grid-template-columns:24px minmax(0,1fr);gap:7px}
}

.q-ai-review-item .q-ai-render-answer-mark{font-weight:800;font-size:22px;color:#1e4b7e}
.q-ai-review-item .q-ai-render-answer-label{font-weight:500;font-size:13px;color:#59738b;margin-left:7px}

/* v0.10.60: choice is strictly a two-cell row (marker + *one* text/math body).
   Never let an appended MathJax token or Korean explanation become an auto-grid item
   in the narrow marker track; keep natural Korean line breaking in body. */
.q-ai-review-item .q-ai-render-choices li{
 grid-template-columns:27px minmax(0,1fr);
 column-gap:7px;
 align-items:start;
 overflow-wrap:normal;
 word-break:normal;
}
.q-ai-review-item .q-ai-render-choices .q-ai-choice-index{
 display:block;min-width:0;text-align:center;white-space:nowrap;
 line-height:1.62;
}
.q-ai-review-item .q-ai-render-choices .q-ai-choice-body{
 display:block;min-width:0;max-width:100%;
 overflow-wrap:break-word;word-break:normal;white-space:normal;
 line-height:1.78;
}
.q-ai-review-item .q-ai-choice-body p{
 margin:0 0 4px;white-space:normal;
}
.q-ai-review-item .q-ai-choice-body p:last-child{margin-bottom:0}
.q-ai-review-item .q-ai-choice-body .q-ai-inline-math{max-width:100%;vertical-align:baseline}
.q-ai-review-item .q-ai-render-pane{overflow-wrap:break-word}
@media(max-width:420px){
 .q-ai-review-item .q-ai-render-choices li{grid-template-columns:25px minmax(0,1fr);column-gap:6px}
}

/* v0.10.61: V16 E1 measurement + E2 safe mode migration, scoped to AI review.
   Each choice remains a single grid item with two CHILDREN (number/body).
   Never let formula tokens create extra grid children or leave a clipped column. */
.q-ai-review-item .q-ai-render-choices{
 display:grid;grid-template-columns:minmax(0,1fr);
 gap:4px 8px;align-items:start;
 width:100%;max-width:100%;
}
.q-ai-review-item .q-ai-render-choices[data-layout="2x3"]{
 grid-template-columns:repeat(3,minmax(0,1fr));column-gap:8px;row-gap:8px;
}
.q-ai-review-item .q-ai-render-choices[data-layout="3x2"]{
 grid-template-columns:repeat(2,minmax(0,1fr));column-gap:7px;row-gap:7px;
}
.q-ai-review-item .q-ai-render-choices[data-layout="1x5"]{
 grid-template-columns:repeat(5,minmax(0,1fr));column-gap:8px;row-gap:0;
}
.q-ai-review-item .q-ai-render-choices[data-layout="5x1"]{
 grid-template-columns:minmax(0,1fr);row-gap:4px;
}
.q-ai-review-item .q-ai-render-choices li{
 display:grid;grid-template-columns:27px minmax(0,1fr);gap:7px;
 align-items:baseline;min-width:0;margin:0;padding:0;
 font-size:17px;line-height:1.72;overflow:visible;
}
.q-ai-review-item .q-ai-render-choices .q-ai-choice-index{
 display:block;min-width:0;width:27px;font-size:19px;
 text-align:center;white-space:nowrap;line-height:1.55;
}
.q-ai-review-item .q-ai-render-choices .q-ai-choice-body{
 display:block;min-width:0;overflow:visible;
 white-space:normal;word-break:keep-all;overflow-wrap:normal;
 line-height:1.72;
}
.q-ai-review-item .q-ai-choice-body p{line-height:1.72;word-break:keep-all;overflow-wrap:normal}
.q-ai-review-item .q-ai-render-sheet,
.q-ai-review-item .q-ai-render-sheet p{line-height:1.72}
/* MathJax supplies em/ex dimensions and its own descent. Do not collapse SVG
   height or make the math an inline-flex box with a foreign baseline. */
.q-ai-review-item .q-ai-inline-math{
 display:inline-block;position:relative;vertical-align:baseline;
 margin:0 .02em;line-height:1;min-height:0;
 font-size:1em;white-space:nowrap;overflow:visible;
 align-items:initial;
}
.q-ai-review-item .q-ai-inline-math mjx-container{display:inline-block;vertical-align:baseline;margin:0}
.q-ai-review-item .q-ai-inline-math svg{
 height:initial;max-width:none;overflow:visible;
}
.q-ai-review-item .q-ai-display-math svg{height:initial;max-width:100%}
@media(max-width:420px){
 .q-ai-review-item .q-ai-render-choices li{grid-template-columns:25px minmax(0,1fr);gap:6px}
 .q-ai-review-item .q-ai-render-choices .q-ai-choice-index{width:25px}
}

/* v0.10.62 / T04: center the box, not its text. Rows are independent and aligned.
   The MathJax inline SVG maintains its own height and baseline metrics. */
.q-ai-review-item .q-ai-t04-outer{
 display:flex;justify-content:center;max-width:100%;margin:14px 0 16px;
}
.q-ai-review-item .q-ai-t04-box{
 box-sizing:border-box;display:inline-block;width:max-content;max-width:90%;
 border:1px solid #cbdbea;border-radius:6px;padding:13px 19px;
 background:#fcfdff;text-align:left;
}
.q-ai-review-item .q-ai-t04-heading{
 margin:0 0 11px;font-size:14px;text-align:center;color:#335575;
 padding-bottom:7px;border-bottom:1px solid #dce7f2;
}
.q-ai-review-item .q-ai-t04-rows{display:grid;gap:10px;min-width:0}
.q-ai-review-item .q-ai-t04-row{
 display:grid;grid-template-columns:43px minmax(0,1fr);column-gap:13px;
 align-items:baseline;min-width:0;line-height:1.65;
}
.q-ai-review-item .q-ai-t04-marker{
 white-space:nowrap;display:block;font-weight:600;line-height:1.65;
}
.q-ai-review-item .q-ai-t04-expression{
 display:block;white-space:nowrap;min-width:0;line-height:1.65;
}
.q-ai-review-item .q-ai-t04-expression .q-ai-inline-math{
 vertical-align:baseline;line-height:1;font-size:1em;
}
@media(max-width:420px){
 .q-ai-review-item .q-ai-t04-box{padding:10px 12px;max-width:96%}
 .q-ai-review-item .q-ai-t04-row{grid-template-columns:38px minmax(0,1fr);column-gap:8px}
}

/* v0.10.63: one Korean+MathJax baseline contract across prose, choices and T04.
   MathJax owns SVG intrinsic depth/vertical-align; no per-zone fake descent.
   Fraction/radical enlargement is an em-sized in-flow font change, never transform(). */
.q-ai-review-item .q-ai-inline-math,
.q-ai-review-item .q-ai-choice-body .q-ai-inline-math,
.q-ai-review-item .q-ai-t04-expression .q-ai-inline-math{
 display:inline;vertical-align:baseline;line-height:inherit;
 min-height:0;overflow:visible;white-space:nowrap;
 margin:0 .025em;padding:0;position:static;align-items:initial;
}
.q-ai-review-item .q-ai-inline-math > div{display:inline}
.q-ai-review-item .q-ai-inline-math mjx-container,
.q-ai-review-item .q-ai-inline-math > svg{vertical-align:initial;max-width:none}
/* Do not override the inline SVG vertical-align supplied by MathJax. */
.q-ai-review-item .q-ai-inline-math svg{height:auto;max-width:none;overflow:visible}
.q-ai-review-item .q-ai-render-sheet p,
.q-ai-review-item .q-ai-choice-body{line-height:1.85}
/* T04 marker/expression share the same line-height and row baseline. */
.q-ai-review-item .q-ai-t04-expression{line-height:1.65}

/* v0.11.10 independent vector preview; responsive, no clipping of accepted illustrations. */
.q-ai-visual-preview{max-width:100%;margin:1rem auto;padding:.5rem;border:1px solid #d9e2f0;border-radius:8px;background:white;overflow:visible}
.q-ai-visual-preview .q-ai-visual-svg{display:block;max-width:100%;width:100%;height:auto;aspect-ratio:4/3}

/* v0.11.12: preserve the review dialog while surfacing visual schema errors. */
.q-ai-visual-preflight:not([hidden]){margin:12px 0;padding:13px 16px;border:1px solid #edab9c;border-radius:8px;background:#fff0ed;color:#923321;max-height:230px;overflow:auto}
.q-ai-visual-preflight p{margin:7px 0;line-height:1.6}
.q-ai-visual-preflight ul{padding-left:20px;margin:8px 0;overflow-wrap:anywhere}
.q-ai-visual-preflight li{margin:5px 0}
