.highlight-question{border-radius:var(--radius-sm);animation:2s ease-out questionHighlight}@keyframes questionHighlight{0%{background-color:color-mix(in oklch, var(--primary) 20%, transparent);box-shadow:0 0 0 3px color-mix(in oklch, var(--primary) 30%, transparent)}50%{background-color:color-mix(in oklch, var(--primary) 10%, transparent);box-shadow:0 0 0 2px color-mix(in oklch, var(--primary) 20%, transparent)}to{box-shadow:none;background-color:#0000}}.ielts-question-set input::placeholder{color:var(--muted-foreground);font-weight:600}.ielts-passage{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-xl);page-break-inside:avoid;box-shadow:0 1px 3px color-mix(in oklch, var(--foreground) 6%, transparent);margin:.5rem 0;padding:1.25rem;font-family:inherit;font-size:.875rem;line-height:1.5}.ielts-passage h1,.ielts-passage h2,.ielts-passage h3,.ielts-passage h4,.ielts-passage h5,.ielts-passage h6{text-align:center;color:var(--foreground);margin:1rem 0 .75rem;font-weight:700;text-decoration:underline}.ielts-passage p{font-size:.875rem;line-height:1.5}.ielts-passage h1{font-size:1.25rem}.ielts-passage h2{font-size:1.125rem}.ielts-passage h3{font-size:1rem}.ielts-passage h4,.ielts-passage h5,.ielts-passage h6{font-size:.875rem}.ielts-passage p{text-align:justify;margin:.75rem 0}.ielts-passage p:first-of-type{margin-top:0}.ielts-passage ul,.ielts-passage ol{margin:.75rem 0;padding-left:2rem}.ielts-passage li{text-align:justify;margin:.5rem 0}.ielts-passage blockquote{border-left:4px solid var(--primary);background:var(--muted);color:var(--muted-foreground);border-radius:0 var(--radius-md) var(--radius-md) 0;margin:1rem 0;padding:.75rem 1rem;font-style:italic}.ielts-passage strong,.ielts-passage b{font-weight:700}.ielts-passage em,.ielts-passage i{font-style:italic}.ielts-passage code{background:var(--muted);color:var(--muted-foreground);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);padding:.1rem .35rem;font-family:monospace}.ielts-passage pre{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-md);margin:1rem 0;padding:.75rem;font-family:monospace;overflow-x:auto}.ielts-passage table{border-collapse:collapse;border:1px solid var(--border);border-radius:var(--radius-md);width:100%;margin:1rem 0;overflow:hidden}.ielts-passage th,.ielts-passage td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.5rem .75rem}.ielts-passage th{background:var(--muted);color:var(--muted-foreground);text-align:center;font-weight:600}.ielts-passage hr{border:none;border-top:1px solid var(--border);margin:1.5rem 0}@media (max-width:768px){.ielts-passage{margin:.25rem 0;padding:.75rem;font-size:.875rem}.ielts-passage h1{font-size:1.125rem}.ielts-passage h2{font-size:1rem}.ielts-passage h3,.ielts-passage h4,.ielts-passage h5,.ielts-passage h6{font-size:.875rem}.ielts-passage p{margin:.5rem 0}.ielts-passage ul,.ielts-passage ol{padding-left:1.5rem}}.ielts-question-set{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);color:var(--card-foreground);page-break-inside:avoid;box-shadow:0 1px 3px color-mix(in oklch, var(--foreground) 6%, transparent);min-width:0;margin:1rem 0;padding:.75rem;overflow:hidden}.ielts-question-set h3{text-align:left;border-bottom:1px solid var(--border);color:var(--foreground);margin:0 0 .5rem;padding-bottom:.5rem;font-weight:700}.instructions{background:var(--muted);color:var(--muted-foreground);border-left:4px solid var(--primary);border-radius:0 var(--radius-md) var(--radius-md) 0;margin:.5rem 0 .75rem;padding:.5rem .75rem;line-height:1.3}.instructions strong{color:var(--foreground);font-weight:600}.mcq-options{margin:.5rem 0}.mcq-options .option{cursor:pointer;margin:.15rem 0;padding:.05rem 0;display:block}.mcq-options input[type=radio],.mcq-options input[type=checkbox]{accent-color:var(--primary);margin-right:.4rem}.ielts-question-set[data-type=multiple-choice-with-multiple-answer]{border:1px solid var(--border);background:var(--card);page-break-inside:avoid;margin:1rem 0;padding:.75rem}.ielts-question-set[data-type=multiple-choice-with-multiple-answer] h3{text-align:left;border-bottom:1px solid var(--border);margin:0 0 .5rem;padding:0 0 .35rem;font-size:.875rem;font-weight:700}.ielts-question-set[data-type=multiple-choice-with-multiple-answer] .question{border-bottom:1px solid var(--border);margin:.75rem 0;padding:.3rem 0}.ielts-question-set[data-type=multiple-choice-with-multiple-answer] .question:last-child{border-bottom:none}.ielts-question-set[data-type=multiple-choice-with-multiple-answer] label{cursor:pointer;margin:.15rem 0;padding:.05rem 0;line-height:1.4;display:block}.ielts-question-set[data-type=multiple-choice-with-multiple-answer] input[type=checkbox]{accent-color:var(--primary);margin-right:.4rem}.ielts-question-set[data-type=multiple-choice-with-multiple-answer] input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.ielts-question-set[data-type=multiple-choice-with-multiple-answer] label.disabled{opacity:.6;cursor:not-allowed}.ielts-question-set[data-type=multiple-choice-with-multiple-answer] br{display:none}.ielts-question-set[data-type=multiple-choice-with-multiple-answer] .question-text,.ielts-question-set[data-type=multiple-choice-with-multiple-answer] p{margin-bottom:.5rem;font-weight:400}.ielts-question-set[data-type=multiple-choice-with-multiple-answer] p strong{font-weight:700}.option-text{line-height:1.2}.tfng-options,.ynng-options{flex-wrap:wrap;gap:.75rem;margin:.5rem 0;display:flex}.tfng-options .option,.ynng-options .option{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);color:var(--foreground);justify-content:center;align-items:center;min-width:85px;padding:.25rem .75rem;transition:border-color .15s;display:flex}:is(.tfng-options .option:has(input:checked),.ynng-options .option:has(input:checked)){border-color:var(--primary)}.tfng-options input[type=radio],.ynng-options input[type=radio]{accent-color:var(--primary);margin-right:.5rem}.heading-options,.radio-options,.feature-options{flex-wrap:wrap;gap:.75rem;margin:.5rem 0;display:flex}.heading-options label,.radio-options label,.feature-options label{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);color:var(--foreground);justify-content:center;align-items:center;min-width:85px;padding:.25rem .75rem;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:flex}:is(.heading-options label:has(input:checked),.radio-options label:has(input:checked),.feature-options label:has(input:checked)){background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in oklch, var(--primary) 25%, transparent);font-weight:600}.heading-options input[type=radio],.radio-options input[type=radio],.feature-options input[type=radio]{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ielts-question-set[data-type=classification] .question label{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);color:var(--foreground);justify-content:center;align-items:center;min-width:60px;margin:0 .3rem .3rem 0;padding:.2rem .6rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.ielts-question-set[data-type=classification] .question label:has(input:checked){background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.ielts-question-set[data-type=classification] .question input[type=radio]{accent-color:var(--primary);margin-right:.4rem}.headings-list{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--muted);margin:.75rem 0;padding:.75rem}.headings-list h4{color:var(--foreground);margin:0 0 .5rem;font-weight:700;text-decoration:underline}.headings-list ul{columns:1;margin:0;padding:0;list-style:none}.headings-list li{border-bottom:1px dotted var(--border);break-inside:avoid;color:var(--muted-foreground);margin:.15rem 0;padding:.1rem 0}.heading-dropdown,.classification-dropdown,.feature-dropdown,.summary-dropdown{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--background);color:var(--foreground);min-width:70px;margin-left:.5rem;padding:.2rem .5rem}.classification-categories{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--muted);margin:.75rem 0;padding:.75rem}.classification-categories h4{color:var(--foreground);margin:0 0 .5rem;font-weight:700;text-decoration:underline}.classification-categories ul{margin:0;padding:0;list-style:none}.classification-categories li{color:var(--muted-foreground);margin:.15rem 0;padding:.1rem 0}.features-list{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--muted);margin:.75rem 0;padding:.75rem}.features-list h4{color:var(--foreground);margin:0 0 .5rem;font-weight:700;text-decoration:underline}.features-list ul{columns:2;column-gap:1rem;margin:0;padding:0;list-style:none}.features-list li{break-inside:avoid;color:var(--muted-foreground);margin:.15rem 0;padding:.1rem 0}.answer-input,.completion-input,.note-input,.short-answer-input{border:none;border-bottom:2px solid var(--border);color:var(--foreground);text-align:center;background:0 0;min-width:100px;margin:0 .5rem;padding:.25rem 0;transition:border-color .15s}.answer-input:focus,.completion-input:focus,.note-input:focus,.short-answer-input:focus{border-bottom:2px solid var(--primary);outline:none}.word-box h4{text-align:center;margin:0 0 .75rem;font-weight:700;text-decoration:underline}.word{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);color:var(--card-foreground);text-align:center;min-width:80px;padding:.25rem .75rem}.summary-text{margin:.75rem 0;line-height:1.6}.completion-table{table-layout:fixed;border-collapse:collapse;word-break:break-word;width:100%;max-width:100%;margin:.75rem 0}.completion-table th,.completion-table td{border:1px solid var(--border);text-align:left;vertical-align:middle;overflow-wrap:break-word;min-width:0;padding:.3rem .5rem}.completion-table th{background:var(--muted);color:var(--muted-foreground);text-align:center;font-weight:600}.completion-table .completion-input,.completion-table .table-input{width:90px;min-width:0;max-width:100%}.table-input{color:var(--foreground);text-align:center;border:none;border-bottom:2px solid var(--border);background:0 0;width:100%;min-width:60px;max-width:120px;padding:.15rem;transition:border-color .15s}.table-input:focus{border-bottom:2px solid var(--primary);outline:none}.flowchart-container{margin:.75rem 0}.flowchart-container h4{text-align:center;margin-bottom:.75rem;font-weight:700;text-decoration:underline}.flowchart{flex-direction:column;align-items:center;gap:.5rem;display:flex}.flow-step{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--muted);color:var(--muted-foreground);text-align:center;justify-content:center;align-items:center;gap:.4rem;min-width:200px;padding:.5rem .75rem;display:flex}.flow-arrow{color:var(--muted-foreground);font-size:1rem;font-weight:700}.flow-input{border:none;border-bottom:2px solid var(--border);color:var(--foreground);text-align:center;background:0 0;min-width:80px;padding:.1rem;transition:border-color .15s}.flow-input:focus{border-bottom:2px solid var(--primary);outline:none}.question-number{color:var(--foreground);margin-left:.5rem;font-weight:700}.diagram-container{margin:.75rem 0}.diagram-container h4{text-align:center;margin-bottom:.75rem;font-weight:700;text-decoration:underline}.diagram{flex-wrap:wrap;justify-content:space-around;align-items:flex-start;gap:1rem;display:flex}.diagram-section{flex-direction:column;align-items:center;min-width:120px;display:flex}.diagram-box{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--muted);text-align:center;justify-content:center;align-items:center;min-height:50px;margin-bottom:.5rem;padding:.5rem;display:flex}.diagram-box h5{color:var(--foreground);margin:0;font-weight:700}.diagram-label{text-align:center;flex-direction:column;align-items:center;gap:.3rem;display:flex}.diagram-input{border:none;border-bottom:2px solid var(--border);color:var(--foreground);text-align:center;background:0 0;min-width:80px;padding:.15rem;transition:border-color .15s}.diagram-input:focus{border-bottom:2px solid var(--primary);outline:none}.notes-container{margin:.75rem 0}.notes-container h4{margin:0 0 .5rem;font-weight:700;text-decoration:underline}.notes-list{margin:0;padding:0;list-style:none}.notes-list li{border-bottom:1px dotted var(--border);color:var(--foreground);flex-wrap:wrap;align-items:center;gap:.4rem;margin:.5rem 0;padding:.15rem 0;display:flex}.question-text{color:var(--foreground);margin:.5rem 0 .4rem;font-weight:400;line-height:1.4}.question-text strong{font-weight:700}.word-limit{color:var(--muted-foreground);margin:.3rem 0;font-size:.75rem;font-style:italic}.question{border-bottom:1px solid var(--border);margin:.75rem 0;padding:.3rem 0}.question:last-child{border-bottom:none}@media (max-width:768px){.ielts-question-set{margin:.75rem 0;padding:.5rem}.tfng-options,.ynng-options{flex-direction:column;gap:.2rem}.features-list ul{columns:1}.diagram{flex-direction:column;align-items:center}.flow-step{flex-direction:column;gap:.2rem;min-width:180px}.words{gap:.2rem}.completion-table{font-size:.75rem}.completion-table th,.completion-table td{padding:.2rem}}@media print{.ielts-question-set{page-break-inside:avoid;margin:1rem 0}.question{page-break-inside:avoid}}.word-box{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--muted);margin:1rem 0;padding:.875rem}.word-box h4{text-align:center;color:var(--foreground);margin:0 0 .75rem;font-size:.875rem;font-weight:700;text-decoration:underline}.words{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.word{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-md);cursor:grab;-webkit-user-select:none;user-select:none;text-align:center;min-width:80px;padding:.25rem .75rem;transition:background .2s,transform .2s,box-shadow .2s;display:inline-block}.word:hover{background:var(--accent);color:var(--accent-foreground);box-shadow:0 2px 6px color-mix(in oklch, var(--foreground) 10%, transparent);transform:translateY(-1px)}.word.dragging{opacity:.5;cursor:grabbing}.blank{border-bottom:2px solid var(--border);min-width:100px;min-height:24px;color:var(--foreground);cursor:pointer;background:0 0;border-top:none;border-left:none;border-right:none;margin:0 .2rem;padding:.2rem .4rem;transition:border-color .2s,background .2s;display:inline-block;position:relative}.blank:empty:after{content:attr(data-placeholder);color:var(--muted-foreground);font-size:.75rem;font-style:italic}.blank.drag-over{border-bottom:2px solid var(--primary);background:color-mix(in oklch, var(--primary) 8%, transparent)}.blank.filled{border-bottom:2px solid var(--border);color:var(--foreground);background:0 0;font-weight:400}.blank.filled:hover{background:var(--muted);border-bottom-color:var(--primary)}.summary-text{color:var(--foreground);font-size:.875rem;line-height:1.75}@media (max-width:768px){.word-box{padding:.5rem}.words{gap:.3rem}.word{min-width:70px;padding:.2rem .5rem;font-size:.75rem}.blank{min-width:80px;min-height:20px;font-size:.75rem}.summary-text{font-size:.75rem;line-height:1.5}}.image-container{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);width:fit-content;max-width:100%;box-shadow:0 2px 8px color-mix(in oklch, var(--foreground) 8%, transparent);margin:1rem 0;overflow:hidden;display:inline-block!important;position:relative!important}.image-container img{max-width:none!important;height:auto!important;margin:0!important;display:block!important}.image-input{color:var(--card-foreground);border-radius:calc(var(--radius) - 2px);text-align:center;box-sizing:border-box;z-index:10;padding:2px 6px;font-size:12px;font-weight:700;transition:border-color .15s,background .15s;position:absolute;background:var(--card)!important;border:2px solid var(--border)!important}.image-input:focus{outline:2px solid var(--primary);outline-offset:-2px;background:color-mix(in oklch, var(--primary) 8%, var(--card))!important;border-color:var(--primary)!important}.image-input::placeholder{color:var(--muted-foreground);font-size:15px;font-weight:400}@media (max-width:768px){.image-container{border-width:1px;margin:.5rem 0}.image-input{min-width:30px;min-height:20px;padding:1px 3px;font-size:10px}.image-input::placeholder{font-size:9px}}@media (max-width:480px){.image-container{transform-origin:0 0;transform:scale(.8)}.image-input{padding:1px 2px;font-size:9px}}.listening-test-layout{background:var(--background);min-height:100vh}.listening-test-layout .container{max-width:1200px;margin:0 auto;padding:2rem 1rem}.listening-audio-player{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 2px 8px color-mix(in oklch, var(--foreground) 8%, transparent);margin-bottom:2rem;padding:1.25rem}.listening-audio-player audio{width:100%;max-width:100%;height:54px}.listening-test-content{width:100%;max-width:none;display:block}.listening-test-content .grid,.listening-test-content .flex{display:block!important}.tfng-question-wrapper{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);color:var(--card-foreground);box-shadow:0 1px 3px color-mix(in oklch, var(--foreground) 6%, transparent);margin:1rem 0;padding:1rem}.tfng-question-wrapper .ielts-question-set{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important}
