.dark-mode button{background-color:#3a415a;color:#f3f3f3}.dark-mode button:hover{background-color:#586380}.dark-mode .button-add{background-color:#1e7f5c}.dark-mode .button-add:hover{background-color:#2bb673}.dark-mode .button-danger{background-color:#b91c1c}.dark-mode .button-danger:hover{background-color:#f87171}.dark-mode .button-download{background-color:#b45309}.dark-mode .button-download:hover{background-color:#fde68a;color:#23272f}.dark-mode .button-alt{background-color:#374151}.dark-mode .button-alt:hover{background-color:#6b7280}.dark-mode .logout-button{background-color:#7f1d1d;color:#f3f3f3}.dark-mode .logout-button:hover{background-color:#f87171;color:#23272f}*,:after,:before{box-sizing:border-box}body{align-items:center;background-color:#f0f2f5;color:#333;display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;margin:0;min-height:100vh;overflow-x:hidden;padding:10px}body.dark-mode{background-color:#181a1b;color:#e0e0e0}.dark-mode .app{background-color:#23272f;box-shadow:0 4px 15px #00000080;color:#e0e0e0}.dark-mode h1{color:#e0e0e0}.dark-mode textarea{background-color:#23272f;border:1px solid #444;color:#e0e0e0}.dark-mode .result{border-color:#444}.dark-mode .modal-content,.dark-mode .result{background-color:#23272f;color:#e0e0e0}.dark-mode .logout-button,.dark-mode button{color:#e0e0e0}.app{background-color:#fff;border-radius:10px;box-shadow:0 4px 15px #0000001a;box-sizing:border-box;margin:auto;max-width:700px;padding:30px;width:100%}h1{color:#4a4a4a;font-size:28px;font-weight:600;text-align:center}.sentence-container,h1{margin-bottom:25px}textarea{border:1px solid #ddd;border-radius:8px;font-size:16px;margin-bottom:10px;outline:none;padding:12px;resize:vertical;transition:border-color .3s,box-shadow .3s;width:100%}textarea:focus{border-color:#3b82f6;box-shadow:0 0 6px #3b82f64d}button{background-color:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;margin:5px 0;padding:10px 18px;transition:background-color .3s,transform .1s;width:100%}button:hover{background-color:#2563eb}button:active{transform:scale(.98)}.button-add{background-color:#10b981}.button-add:hover{background-color:#059669}.button-danger{background-color:#ef4444}.button-danger:hover{background-color:#dc2626}.button-download{background-color:#f59e0b}.button-download:hover{background-color:#d97706}.button-alt{background-color:#6b7280}.button-alt:hover{background-color:#4b5563}@media (max-width:600px){.app{margin:0 auto;padding:20px}button,textarea{font-size:14px}button{padding:10px;width:100%}h1{font-size:22px}}.logout-button{background-color:#ff4d4d;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 15px;transition:background-color .3s;width:100%}.logout-button:hover{background-color:#e60000}.modal{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%}.modal-content{background-color:#fff;border-radius:10px;box-shadow:0 4px 15px #0000001a;left:50%;max-width:500px;padding:20px;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.close{cursor:pointer;padding:10px}.close:hover{background-color:#7d848f}.form{display:flex;flex-direction:column}.form label{display:block;font-weight:700;margin-bottom:10px}.form input[type=checkbox]{margin-right:10px}.form input[type=text],.form select{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;margin-top:5px;padding:8px;width:100%}.result{word-wrap:break-word;background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;color:#333;font-size:16px;margin-top:15px;overflow-x:auto;padding:10px;white-space:pre-wrap}.language-section{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:25px;padding:20px}.language-section h2{color:#374151;font-size:18px;font-weight:600;margin-bottom:12px}.language-dropdown{background-color:#fff;border:2px solid #e2e8f0;border-radius:6px;color:#374151;cursor:pointer;font-size:16px;max-width:250px;outline:none;padding:10px 12px;transition:border-color .3s ease;width:100%}.language-dropdown:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.language-dropdown:hover{border-color:#cbd5e1}.section-nav{display:flex;gap:10px;margin-bottom:16px}.section-btn{background-color:#eef2ff;border:none;border-radius:10px;color:#374151;cursor:pointer;font-size:16px;font-weight:600;margin:0;padding:12px 20px;transition:background-color .2s,color .2s;width:auto}.section-btn:hover{background-color:#e0e7ff}.section-btn--active{background-color:#3b82f6;color:#fff}.dark-mode .section-btn{background-color:#23272f;color:#e0e0e0}.dark-mode .section-btn:hover{background-color:#2d323c}.dark-mode .section-btn--active{background-color:#3b82f6;color:#fff}.tab-nav{border-bottom:2px solid #e2e8f0;display:flex;gap:8px;margin-bottom:20px}.tab-btn{border:none;border-bottom:3px solid #0000;border-radius:0;color:#374151;cursor:pointer;font-size:15px;font-weight:500;margin:0;padding:10px 20px;transition:color .2s,border-color .2s;width:auto}.tab-btn,.tab-btn:hover{background-color:initial}.tab-btn:hover{color:#3b82f6}.tab-btn--active{border-bottom-color:#3b82f6;color:#3b82f6}.dark-mode .tab-btn{background-color:initial;color:#e0e0e0}.dark-mode .tab-btn:hover{background-color:initial;color:#93c5fd}.dark-mode .tab-btn--active{border-bottom-color:#93c5fd;color:#93c5fd}.photo-ocr-container{margin-top:10px}.photo-ocr-source-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.photo-ocr-source-row .photo-ocr-upload-btn,.photo-ocr-source-row button{width:auto}.photo-ocr-upload-btn{align-items:center;background-color:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;justify-content:center;margin:5px 0;padding:10px 18px;transition:background-color .3s,transform .1s;-webkit-user-select:none;user-select:none}.photo-ocr-upload-btn:hover{background-color:#4b5563}.photo-ocr-upload-btn:active{transform:scale(.98)}.dark-mode .photo-ocr-upload-btn{background-color:#374151}.dark-mode .photo-ocr-upload-btn:hover{background-color:#6b7280}.photo-ocr-instruction{color:#6b7280;font-size:14px;margin-bottom:8px}.photo-ocr-canvas{border:1px solid #e2e8f0;border-radius:6px;cursor:crosshair;display:block;max-width:100%;touch-action:none}.dark-mode .photo-ocr-canvas{border-color:#444}.photo-ocr-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.photo-ocr-actions button{width:auto}.writing-card-container{margin-top:10px}.writing-card-field{margin-bottom:16px}.writing-card-field-row{align-items:flex-end;display:flex;gap:8px}.writing-card-field-grow{flex:1 1}.writing-card-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.dark-mode .writing-card-label{color:#e0e0e0}.writing-card-input{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:16px;outline:none;padding:8px 12px;transition:border-color .3s,box-shadow .3s;width:100%}.writing-card-input:focus{border-color:#3b82f6;box-shadow:0 0 6px #3b82f64d}.dark-mode .writing-card-input{background-color:#23272f;border-color:#444;color:#e0e0e0}.writing-card-input-narrow{max-width:120px}.writing-card-textarea{box-sizing:border-box;width:100%}.writing-card-inline-btn{flex-shrink:0;margin-bottom:0;width:auto}.writing-card-diagram-section,.writing-card-preview{margin-bottom:16px}.writing-card-diagram-section button{margin-bottom:12px;width:auto}@keyframes diagram-spin{to{transform:rotate(1turn)}}.diagram-loading{color:#6b7280;display:flex;flex-direction:column;gap:6px;padding:10px 0 14px}.diagram-loading-row{align-items:center;display:flex;font-size:15px;gap:10px}.diagram-loading-spinner{animation:diagram-spin .7s linear infinite;border:2.5px solid #e2e8f0;border-radius:50%;border-top-color:#6b7280;display:inline-block;flex-shrink:0;height:18px;width:18px}.diagram-loading-hint{color:#9ca3af;font-size:12px;padding-left:28px}.diagram-loading-error{color:#ef4444;font-size:14px}.dark-mode .diagram-loading{color:#9ca3af}.dark-mode .diagram-loading-spinner{border-color:#9ca3af #374151 #374151}.dark-mode .diagram-loading-hint{color:#6b7280}.writing-card-diagram-img{background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:block;image-rendering:pixelated;max-width:100%;padding:4px}.photo-ocr-loading{color:#6b7280;font-style:italic}.photo-ocr-error{color:#ef4444}.photo-ocr-result{margin-top:16px}.worksheet-checkbox-label{align-items:center;color:#374151;display:flex;font-size:14px;gap:6px;white-space:nowrap}.dark-mode .worksheet-checkbox-label{color:#e0e0e0}.worksheet-toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between;margin:20px 0 12px}.worksheet-print-btn{width:auto}.worksheet-print-area{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#111;padding:24px}.worksheet-title{margin-top:0}.worksheet-item{margin-bottom:20px}.worksheet-item--compact{margin-bottom:10px}.worksheet-num{font-weight:700}.worksheet-prompt{font-family:HGKyokashotai,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;font-size:8px;line-height:1.8;margin-bottom:8px}.worksheet-item--compact .worksheet-prompt{margin-bottom:0}.worksheet-prompt u{text-underline-offset:3px}.worksheet-writing-box{background-image:repeating-linear-gradient(180deg,#0000,#0000 22px,#ddd 23px);border:1px solid #888;height:90px}.worksheet-answer-key{border-top:2px dashed #cbd5e1;margin-top:24px;padding-top:16px}.worksheet-answer-list{column-gap:16px;column-width:120px;list-style:none;margin:0;padding:0}.worksheet-answer-list li{margin-bottom:6px}.worksheet-font-credit{color:#9ca3af;font-size:11px;margin-top:16px}@media print{body *{visibility:hidden}.worksheet-print-area,.worksheet-print-area *{visibility:visible}.worksheet-print-area{border:none;left:0;padding:0;position:absolute;top:0;width:100%}.worksheet-item{break-inside:avoid;page-break-inside:avoid}}
/*# sourceMappingURL=main.605c9cab.css.map*/