.test-list{padding:2rem}.category-section{margin-bottom:3rem}.category-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;border-bottom:2px solid #646cff;padding-bottom:.5rem}.category-title{font-size:1.5rem;color:#333;margin:0}.category-toggle{position:relative;display:inline-block;width:50px;height:24px}.toggle-input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-input:checked+.toggle-slider{background-color:#646cff}.toggle-input:checked+.toggle-slider:before{transform:translate(26px)}.test-buttons{display:flex;flex-direction:column;gap:1rem;max-width:400px;margin:1rem 0}.test-button{padding:1rem 2rem;font-size:1.2rem;background-color:#646cff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .3s}.test-button:hover{background-color:#535bf2}.loading{text-align:center;padding:2rem;font-size:1.2rem}@media (max-width: 768px){.test-list{padding:1rem}.category-section{margin-bottom:2rem}.category-header{flex-direction:column;align-items:flex-start;gap:.5rem}.category-title{font-size:1.2rem}.test-buttons{max-width:100%;width:100%}.test-button{width:100%;padding:.9rem 1.5rem;font-size:1rem}.loading{padding:1rem;font-size:1rem}}.drag-drop-question{padding:1rem}.question-text-wrapper{margin-bottom:2rem;line-height:1.8;font-size:1.1rem}.question-text-parsed{line-height:2}.question-text-parsed img{max-width:100%;height:auto;margin:1rem 0;border:1px solid #ddd;border-radius:4px}.drop-zone{display:inline-block;min-width:150px;min-height:30px;border:2px dashed #ccc;border-radius:4px;margin:0 .5rem;padding:.5rem;vertical-align:middle;cursor:pointer;transition:all .3s}.drop-zone.group1{background-color:#ffffff80;border-color:#ccc}.drop-zone.group1:hover{background-color:#fffc;border-color:#999}.drop-zone.group1.filled{background-color:#fff;border-color:#ccc;border-style:solid}.drop-zone.group1.can-drop{background-color:#ffffffe6;border-color:#999;border-style:solid}.drop-zone.group2{background-color:#e0f7fa80;border-color:#80deea}.drop-zone.group2:hover{background-color:#e0f7facc;border-color:#4dd0e1}.drop-zone.group2.filled{background-color:#e0f7fa;border-color:#80deea;border-style:solid}.drop-zone.group2.can-drop{background-color:#e0f7fae6;border-color:#4dd0e1;border-style:solid}.drop-zone.group3{background-color:#f5f5f580;border-color:#bdbdbd}.drop-zone.group3:hover{background-color:#f5f5f5cc;border-color:#9e9e9e}.drop-zone.group3.filled{background-color:#f5f5f5;border-color:#bdbdbd;border-style:solid}.drop-zone.group3.can-drop{background-color:#f5f5f5e6;border-color:#9e9e9e;border-style:solid}.blank-wrapper{display:inline-flex;flex-direction:column;vertical-align:middle;margin:0 .5rem;align-items:center}.drop-zone.incorrect{border-color:#f44336!important;border-style:solid!important;background-color:#f443361a!important}.drop-zone.correct{border-color:#4caf50!important;border-style:solid!important;background-color:#4caf501a!important}.correct-answer-hint{margin-top:.3rem;font-size:.85rem;color:#4caf50;font-weight:700;text-align:center;padding:.2rem .5rem;background-color:#4caf501a;border-radius:4px;border:1px solid #4caf50}.choices-container{margin-top:2rem}.choices{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.choice-item{padding:.8rem 1.5rem;color:#213547;border-radius:8px;cursor:grab;-webkit-user-select:none;user-select:none;transition:all .3s;border:2px solid #ddd}.choice-item.group1{background-color:#fff;border-color:#ccc}.choice-item.group1:hover{background-color:#f5f5f5;transform:scale(1.05)}.choice-item.group2{background-color:#e0f7fa;border-color:#80deea}.choice-item.group2:hover{background-color:#b2ebf2;transform:scale(1.05)}.choice-item.group3{background-color:#f5f5f5;border-color:#bdbdbd}.choice-item.group3:hover{background-color:#e0e0e0;transform:scale(1.05)}.choice-item.used{opacity:.5;cursor:not-allowed}.choice-item:active{cursor:grabbing}.check-button{margin-top:2rem;padding:1rem 2rem;font-size:1.1rem;background-color:#4caf50;color:#fff}.answer-result{margin-top:2rem;padding:1rem;border-radius:8px;font-size:1.2rem;font-weight:700;text-align:center}.short-answer-question{padding:1rem}.question-text{margin-bottom:1.5rem;line-height:1.8;font-size:1.1rem}.instructions{margin-bottom:1rem;padding:.8rem;background-color:#646cff1a;border-left:4px solid #646cff;border-radius:4px;font-size:.9rem}.answer-input-container{margin:2rem 0}.answer-input{width:100%;max-width:500px;padding:1rem;font-size:1.1rem;border:2px solid #646cff;border-radius:8px;background-color:#1a1a1a;color:#fff}.answer-input:focus{outline:none;border-color:#535bf2}.answer-input:disabled{opacity:.6;cursor:not-allowed}@media (prefers-color-scheme: light){.answer-input{background-color:#fff;color:#213547}}.multianswer-question{padding:1rem}.option-item{padding:1rem;background-color:#646cff1a;border-left:4px solid #646cff;border-radius:4px;line-height:1.6}.option-label{font-weight:700;color:#646cff;margin-right:.5rem}.option-text{color:inherit}.answer-select-container{margin:2rem 0}.answer-select-container label{display:block;margin-bottom:.5rem;font-weight:500}.answer-select{width:100%;max-width:300px;padding:.8rem;font-size:1.1rem;border:2px solid #646cff;border-radius:8px;background-color:#1a1a1a;color:#fff;cursor:pointer}.answer-select:focus{outline:none;border-color:#535bf2}.answer-select:disabled{opacity:.6;cursor:not-allowed}@media (prefers-color-scheme: light){.answer-select{background-color:#fff;color:#213547}.option-item{background-color:#646cff0d}}.multichoice-question{padding:1rem}.question-text{margin-bottom:2rem;line-height:1.8;font-size:1.1rem}.question-text img{max-width:100%;height:auto;margin:1rem 0;border:1px solid #ddd;border-radius:4px}.options-container{margin-top:2rem}.options{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.option-item{display:flex;align-items:flex-start;padding:1rem;background-color:#646cff1a;border:2px solid transparent;border-left:4px solid #646cff;border-radius:4px;line-height:1.6;cursor:pointer;transition:all .3s}.option-item:hover{background-color:#646cff33;border-color:#646cff}.option-item:has(input:disabled):hover{background-color:#646cff1a;border-color:transparent}.option-item.selected{background-color:#646cff33;border-color:#646cff}.option-item.correct-option{background-color:#4caf5033;border-left-color:#4caf50}.option-radio{margin-right:.8rem;margin-top:.2rem;cursor:pointer}.option-radio:disabled{cursor:not-allowed}.option-label{font-weight:700;color:#646cff;margin-right:.5rem;min-width:1.5rem}.option-item.correct-option .option-label{color:#4caf50}.option-text{color:inherit;flex:1}.option-content{flex:1;color:inherit}.option-content img{max-width:100%;height:auto;margin-top:.5rem;border:1px solid #ddd;border-radius:4px}.check-button{margin-top:1rem;padding:1rem 2rem;font-size:1.1rem;background-color:#4caf50;color:#fff}.check-button:disabled{opacity:.5;cursor:not-allowed}.answer-section{margin-top:2rem}.answer-result{padding:1rem;border-radius:8px;font-size:1.2rem;font-weight:700;text-align:center;margin-bottom:1rem}.answer-result.correct{background-color:#4caf50;color:#fff}.answer-result.incorrect{background-color:#f44336;color:#fff}.correct-answer{padding:1rem;background-color:#646cff1a;border-radius:8px;font-size:1.1rem}@media (prefers-color-scheme: light){.option-item{background-color:#646cff0d}.option-item.selected{background-color:#646cff26}.option-item.correct-option{background-color:#4caf5026}}@media (max-width: 768px){.multichoice-question{padding:.5rem}.question-text{font-size:.95rem;margin-bottom:1rem;line-height:1.6}.options-container{margin-top:1rem}.options-container h4{font-size:.9rem}.options{gap:.75rem;margin-top:.75rem}.option-item{padding:.75rem;font-size:.95rem}.option-radio{margin-right:.6rem;width:18px;height:18px}.option-label{font-size:.9rem;min-width:1.2rem}.check-button{width:100%;margin-top:1rem;padding:.9rem;font-size:1rem}.answer-section{margin-top:1rem}.answer-result{font-size:1rem;padding:.75rem}.correct-answer{font-size:.95rem;padding:.75rem}}.fill-in-the-blank-question{padding:1rem}.question-text{margin-bottom:2rem;line-height:1.8}.question-text pre{background-color:#f5f5f5;padding:1rem;border-radius:4px;overflow-x:auto;margin:1rem 0}.question-text code{font-family:Courier New,monospace;font-size:.9rem}.blank-select{padding:.5rem;font-size:1rem;border:2px solid #ccc;border-radius:4px;margin:0 .25rem;background-color:#fff;min-width:150px}.blank-select:disabled{background-color:#f5f5f5;cursor:not-allowed}.blank-select.correct{border-color:#4caf50;background-color:#e8f5e9}.blank-select.incorrect{border-color:#f44336;background-color:#ffebee}.correct-answer-hint{color:#4caf50;font-size:.9rem;margin-left:.5rem;font-weight:700}.check-button{padding:.75rem 2rem;font-size:1.1rem;background-color:#646cff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .3s;margin-top:1rem}.check-button:hover:not(:disabled){background-color:#535bf2}.answer-section{margin-top:2rem;padding:1rem;border-radius:8px;background-color:#f9f9f9}.answer-result{font-size:1.2rem;font-weight:700;margin-bottom:.5rem}.sentence-rearrangement-question{padding:20px}.question-text{margin-bottom:15px;font-size:16px;line-height:1.6}.japanese-sentence{margin-bottom:20px;padding:10px;background-color:#f5f5f5;border-radius:5px;font-size:16px}.sentence-area{display:flex;flex-direction:column;gap:20px}.ordered-blocks-container{min-height:150px}.ordered-blocks{display:flex;flex-wrap:wrap;gap:8px;min-height:60px;padding:15px;border:2px dashed #ccc;border-radius:5px;background-color:#fafafa;align-items:center}.empty-placeholder{color:#999;font-style:italic;width:100%;text-align:center}.ordered-block{padding:8px 12px;background-color:#4a90e2;color:#fff;border-radius:5px;cursor:move;-webkit-user-select:none;user-select:none;font-size:14px;transition:all .2s}.ordered-block:hover{background-color:#357abd;transform:scale(1.05)}.ordered-block.correct{background-color:#4caf50}.ordered-block.incorrect{background-color:#f44336}.drop-zone{padding:8px 12px;border:2px dashed #999;border-radius:5px;color:#999;font-size:20px;min-width:40px;text-align:center;cursor:pointer}.drop-zone:hover{border-color:#4a90e2;background-color:#e3f2fd}.sentence-result{margin-top:15px;padding:10px;background-color:#fff;border:1px solid #ddd;border-radius:5px}.result-text{font-size:16px;font-weight:500;color:#333}.available-blocks-container{margin-top:20px}.available-blocks-container h4{margin-bottom:10px;font-size:14px;color:#666}.available-blocks{display:flex;flex-wrap:wrap;gap:8px;padding:15px;border:1px solid #ddd;border-radius:5px;background-color:#fff;min-height:60px}.available-block{padding:8px 12px;background-color:#e0e0e0;color:#333;border-radius:5px;cursor:move;-webkit-user-select:none;user-select:none;font-size:14px;transition:all .2s}.available-block:hover{background-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 2px 4px #0003}.check-button{margin-top:20px;padding:12px 24px;background-color:#4a90e2;color:#fff;border:none;border-radius:5px;font-size:16px;cursor:pointer;transition:background-color .2s}.check-button:hover:not(:disabled){background-color:#357abd}.check-button:disabled{background-color:#ccc;cursor:not-allowed}.answer-section{margin-top:20px;padding:15px;border-radius:5px}.answer-result{font-size:18px;font-weight:700;margin-bottom:10px}.answer-result.correct{color:#4caf50}.answer-result.incorrect{color:#f44336}.correct-answer{margin-top:10px;padding:10px;background-color:#e8f5e9;border-radius:5px;font-size:16px;color:#2e7d32}@media (max-width: 768px){.sentence-rearrangement-question{padding:10px}.question-text{font-size:14px;margin-bottom:10px}.japanese-sentence{font-size:14px;padding:8px;margin-bottom:15px}.sentence-area{gap:15px}.ordered-blocks-container{min-height:100px}.ordered-blocks{min-height:80px;padding:10px;gap:6px}.ordered-block{padding:10px 14px;font-size:16px;touch-action:none}.available-blocks-container{margin-top:15px}.available-blocks-container h4{font-size:12px;margin-bottom:8px}.available-blocks{padding:10px;min-height:80px;gap:6px}.available-block{padding:10px 14px;font-size:16px;touch-action:none}.sentence-result{margin-top:10px;padding:8px}.result-text{font-size:14px}.check-button{width:100%;margin-top:15px;padding:14px;font-size:16px}.answer-section{margin-top:15px;padding:12px}.answer-result{font-size:16px}.correct-answer{font-size:14px;padding:8px}}.question-view{max-width:900px;margin:0 auto;padding:2rem}.question-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #646cff}.question-content{background-color:#1a1a1a;padding:2rem;border-radius:8px}@media (prefers-color-scheme: light){.question-content{background-color:#f9f9f9}}@media (max-width: 768px){.question-view{padding:1rem;max-width:100%}.question-header{margin-bottom:1rem;padding-bottom:.5rem}.question-header h3{font-size:1rem}.question-content{padding:1rem}}#root{max-width:1280px;margin:0 auto;padding:2rem}.App{width:100%;position:relative}.global-shuffle-toggle{position:absolute;top:1rem;right:1rem;z-index:100;background-color:#fff;padding:.75rem 1rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;border:1px solid #ddd;display:flex;flex-direction:column;gap:.5rem}.test-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #646cff}.back-button{background-color:#666;color:#fff;padding:.5rem 1rem;font-size:.9rem}.back-button:hover{background-color:#555}.header-right,.shuffle-toggle{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.toggle-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer;font-size:.9rem;-webkit-user-select:none;user-select:none;width:100%}.category-toggle{position:relative;display:inline-block;width:50px;height:24px;flex-shrink:0}.category-toggle .toggle-input{opacity:0;width:0;height:0}.category-toggle .toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:24px}.category-toggle .toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.category-toggle .toggle-input:checked+.toggle-slider{background-color:#646cff}.category-toggle .toggle-input:checked+.toggle-slider:before{transform:translate(26px)}.toggle-text{color:#333;font-weight:500}.score{font-size:1.2rem;font-weight:700;color:#646cff}.navigation{display:flex;justify-content:space-between;margin-top:2rem;gap:1rem}.nav-button{flex:1;padding:1rem;font-size:1.1rem}.nav-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){#root{padding:1rem}.global-shuffle-toggle{position:relative;top:auto;right:auto;margin-bottom:1rem;width:100%;max-width:100%}.test-header{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1rem}.test-header h1{font-size:1.2rem;width:100%}.back-button{font-size:.8rem;padding:.4rem .8rem}.header-right,.shuffle-toggle{width:100%;align-items:flex-start}.toggle-label{font-size:.85rem}.score{font-size:1rem;margin-top:.5rem}.navigation{flex-direction:column;gap:.5rem;margin-top:1rem}.nav-button{width:100%;padding:.8rem;font-size:1rem}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
