*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:"Noto Serif JP",serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;color:#333}#root{min-height:100vh}.app{display:grid;grid-template-columns:280px 1fr 320px;min-height:100vh}.left-pane{padding:16px;background:#fafafa;border-right:1px solid #ddd;overflow-y:auto;max-height:100vh}.left-pane h2{font-size:16px;margin-bottom:12px}.left-pane textarea{width:100%;min-height:200px;font-family:"Noto Serif JP",serif;font-size:14px;padding:8px;border:1px solid #ccc;border-radius:4px;resize:vertical}.left-pane .btn{display:inline-block;padding:6px 16px;margin:8px 4px 8px 0;font-size:14px;border:1px solid #999;border-radius:4px;background:#fff;cursor:pointer}.left-pane .btn:hover{background:#eee}.left-pane .btn-primary{background:#4a90d9;color:#fff;border-color:#4a90d9}.left-pane .btn-primary:hover{background:#3a7bc8}.settings-section{margin-top:16px;border-top:1px solid #ddd;padding-top:12px}.settings-section h3{font-size:14px;margin-bottom:8px}.setting-row{display:flex;align-items:center;margin-bottom:8px;gap:8px}.setting-row label{font-size:13px;min-width:70px}.setting-row input[type=number]{width:70px;padding:4px;border:1px solid #ccc;border-radius:3px;font-size:13px}.setting-row input[type=checkbox]{margin-right:4px}.radio-group{display:flex;gap:12px}.radio-group label{font-size:13px;min-width:auto}.center-pane{padding:24px;overflow:auto;max-height:100vh;display:flex;justify-content:center;align-items:flex-start}.right-pane{padding:16px;background:#fafafa;border-left:1px solid #ddd;overflow-y:auto;max-height:100vh}.right-pane h2{font-size:16px;margin-bottom:12px}.mark-item{border:1px solid #ddd;border-radius:4px;padding:10px;margin-bottom:8px;background:#fff}.mark-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.mark-item-header .circled-number{font-size:16px;font-weight:700}.mark-item-header .controls{display:flex;gap:4px}.mark-item-header .controls button{padding:2px 6px;font-size:12px;border:1px solid #ccc;border-radius:3px;background:#fff;cursor:pointer}.mark-item-header .controls button:hover{background:#eee}.mark-item .excerpt{font-size:12px;color:#666;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mark-item textarea{width:100%;min-height:50px;font-family:"Noto Serif JP",serif;font-size:13px;padding:6px;border:1px solid #ccc;border-radius:3px;resize:vertical}.empty-state{text-align:center;color:#999;padding:32px 0;font-size:14px}.btn-danger{display:inline-block;padding:6px 16px;font-size:13px;border:1px solid #d9534f;border-radius:4px;background:#fff;color:#d9534f;cursor:pointer;margin-top:8px}.btn-danger:hover{background:#d9534f;color:#fff}.btn-action{display:inline-block;padding:6px 16px;font-size:13px;border:1px solid #4a90d9;border-radius:4px;background:#fff;color:#4a90d9;cursor:pointer;margin-top:8px}.btn-action:hover{background:#4a90d9;color:#fff}.toast{position:fixed;top:16px;right:16px;background:#d9534f;color:#fff;padding:10px 20px;border-radius:4px;font-size:14px;z-index:1000;box-shadow:0 2px 8px #0003;animation:toast-in .3s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.selection-popup{position:fixed;background:#fff;border:1px solid #ccc;border-radius:6px;padding:6px 10px;box-shadow:0 2px 8px #00000026;z-index:100}.selection-popup button{font-size:13px;padding:4px 12px;border:1px solid #4a90d9;border-radius:4px;background:#4a90d9;color:#fff;cursor:pointer;white-space:nowrap}.selection-popup button:hover{background:#3a7bc8}.answer-type-section{margin-top:8px;border-top:1px solid #eee;padding-top:6px}.answer-type-radios{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px}.answer-type-label{font-size:12px;color:#666;margin-right:2px}.answer-type-radios label{display:flex;align-items:center;gap:2px;font-size:12px;cursor:pointer}.answer-type-radios input[type=radio]{margin:0}.choice-editor{margin-top:6px;display:flex;flex-direction:column;gap:4px}.choice-row{display:flex;align-items:center;gap:4px}.choice-row .choice-label{font-size:13px;min-width:1.5em;text-align:center}.choice-row input[type=text]{flex:1;padding:3px 6px;font-size:13px;font-family:"Noto Serif JP",serif;border:1px solid #ccc;border-radius:3px}.choice-row .choice-remove{padding:2px 6px;font-size:12px;border:1px solid #ccc;border-radius:3px;background:#fff;cursor:pointer;color:#d9534f}.choice-row .choice-remove:hover{background:#fef0f0}.choice-add{font-size:12px;padding:3px 8px;border:1px dashed #ccc;border-radius:3px;background:#fff;cursor:pointer;color:#4a90d9;align-self:flex-start}.choice-add:hover{background:#f0f5ff}.view-mode-toggle{display:flex;justify-content:center;align-items:center;padding:8px 16px;background:#fafafa;border-bottom:1px solid #eee;gap:4px;grid-column:1 / -1}.view-mode-toggle button{padding:4px 16px;border:1px solid #ddd;background:#fff;font-size:13px;font-family:"Noto Serif JP",serif;cursor:pointer;border-radius:4px;color:#666;transition:all .2s}.view-mode-toggle button.active{background:#4a90d9;color:#fff;border-color:#4a90d9}.mobile-tabs{display:none;grid-column:1 / -1}[data-view-mode=tabs] .mobile-tabs{display:flex;position:sticky;top:0;z-index:50;background:#fafafa;border-bottom:1px solid #ddd}[data-view-mode=tabs] .mobile-tabs button{flex:1;padding:10px 0;font-size:14px;font-family:"Noto Serif JP",serif;border:none;background:#fafafa;color:#666;cursor:pointer;border-bottom:2px solid transparent}[data-view-mode=tabs] .mobile-tabs button.active{color:#4a90d9;border-bottom-color:#4a90d9;font-weight:700}.app[data-view-mode=tabs]{grid-template-columns:1fr}.app[data-view-mode=tabs]>.left-pane,.app[data-view-mode=tabs]>.center-pane,.app[data-view-mode=tabs]>.right-pane{max-height:none}.app[data-view-mode=tabs]>.left-pane{border-right:none}.app[data-view-mode=tabs]>.right-pane{border-left:none}.app[data-view-mode=tabs][data-active-tab=input]>.center-pane,.app[data-view-mode=tabs][data-active-tab=input]>.right-pane{display:none}.app[data-view-mode=tabs][data-active-tab=preview]>.left-pane,.app[data-view-mode=tabs][data-active-tab=preview]>.right-pane{display:none}.app[data-view-mode=tabs][data-active-tab=questions]>.left-pane,.app[data-view-mode=tabs][data-active-tab=questions]>.center-pane{display:none}.paper{position:relative;background:#fff;box-shadow:0 2px 12px #0000001f;flex-shrink:0}.exam-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:inherit}.exam-number{display:inline-flex;align-items:center;justify-content:center;border:2px solid #333;padding:2px 8px;font-weight:700;line-height:1.2}.body-area{position:relative}.text-layer{-webkit-user-select:text;user-select:text;white-space:pre-wrap;font-family:"Noto Serif JP",serif;word-break:break-all}.overlay{position:absolute;top:0;left:0;pointer-events:none}.line-numbers{position:absolute;left:0;top:0;-webkit-user-select:none;user-select:none;pointer-events:none;color:#aaa;font-size:12px;text-align:right}.line-numbers .line-number{display:block}.question-area{border-top:1px solid #333;padding-top:16px;margin-top:16px}.question-item{margin-bottom:12px}.question-item .question-heading{font-weight:700;margin-bottom:4px}.question-item .question-text{padding-left:1em}.answer-area{margin-top:8px;padding-left:1em}.answer-label{font-size:.85em;color:#666}.answer-line{width:100%;border-bottom:1px solid #333;height:2em}.answer-area-word{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px}.answer-line-short{width:40%;border-bottom:1px solid #333;height:2em}.choice-list{display:flex;flex-wrap:wrap;gap:4px 24px;margin-bottom:4px;padding-left:1em}.choice-item{white-space:nowrap}.paper-guide{color:#aaa;font-size:14px;text-align:center;padding:40px 20px;line-height:2}
