
.mtm-shell{max-width:1100px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","YuGothic","Helvetica Neue",Arial,sans-serif;color:#111827}
.mtm-step{display:none}
.mtm-step-active{display:block}
.mtm-panel{background:#fff;border:1px solid #dbe3ee;border-radius:16px;padding:28px;box-shadow:0 8px 30px rgba(15,23,42,.06);margin:12px 0}
.mtm-panel-wide{padding:32px}
.mtm-step-tag{display:inline-block;background:#eef2ff;color:#4338ca;font-weight:700;border-radius:999px;padding:6px 12px;font-size:12px;letter-spacing:.04em}
.mtm-title{font-size:30px;line-height:1.2;margin:14px 0 20px}
.mtm-dropzone{position:relative;display:block;border:2px dashed #c7d2fe;border-radius:20px;background:linear-gradient(180deg,#f8fbff,#f3f7ff);padding:16px;cursor:pointer}
.mtm-dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;z-index:2}
.mtm-dropzone.is-dragover{border-color:#4f46e5;background:#eef2ff}
.mtm-dropzone-inner{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.mtm-dropzone-icon{font-size:42px;color:#4f46e5;margin-bottom:10px}
.mtm-dropzone-main{font-size:24px;font-weight:700}
.mtm-dropzone-sub{font-size:14px;color:#6b7280;margin-top:6px}
.mtm-selected-file{margin-top:14px;font-size:14px;color:#111827;font-weight:600}
.mtm-actions,.mtm-top-actions{display:flex;gap:12px;align-items:center;margin-top:20px;flex-wrap:wrap}
.mtm-btn{appearance:none;border:none;border-radius:12px;padding:13px 18px;font-weight:700;cursor:pointer}
.mtm-btn-primary{background:#111827;color:#fff}
.mtm-btn-primary:hover{opacity:.92}
.mtm-btn-ghost{background:#f3f4f6;color:#111827}
.mtm-label{display:block;font-size:13px;color:#374151;font-weight:700;margin:0 0 8px}
.mtm-input,.mtm-textarea{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:12px 14px;font-size:15px;background:#fff}
.mtm-input:focus,.mtm-textarea:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.12)}
.mtm-textarea-large{min-height:220px;resize:vertical}
.mtm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mtm-field{margin-top:16px}
.mtm-status{margin-top:14px;font-weight:700;color:#1f2937}
.mtm-error{color:#b91c1c}
.mtm-topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.mtm-topic-btn{text-align:left;padding:16px;border-radius:0;border:2px solid #d1d5db !important;background:#fff !important;cursor:pointer;transition:.18s;color:#111827 !important}
.mtm-topic-btn:hover{border-color:#9ca3af !important;background:#f9fafb !important;transform:translateY(-1px)}
.mtm-topic-btn.is-active{border-color:#92400e !important;background:#fff7ed !important;box-shadow:0 6px 18px rgba(146,64,14,.08);color:#111827 !important}
.mtm-topic-btn.is-active .mtm-topic-label,.mtm-topic-btn.is-active .mtm-topic-sub{color:#111827 !important}
.mtm-topic-label{display:block;font-size:17px;font-weight:800;color:#111827;line-height:1.35}
.mtm-topic-sub{display:block;font-size:12px;color:#6b7280;margin-top:8px}
.mtm-panel-loading{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.mtm-loader{width:52px;height:52px;border-radius:50%;border:5px solid #e5e7eb;border-top-color:#111827;animation:mtmspin 1s linear infinite}
@keyframes mtmspin{to{transform:rotate(360deg)}}
.mtm-loading-title{font-size:26px;font-weight:800;margin-top:16px}
.mtm-loading-sub{font-size:14px;color:#6b7280;margin-top:8px}
.mtm-result-card{border:1px solid #dbe3ee;border-radius:0;padding:20px;margin:18px 0;background:#fff}
.mtm-card-header{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.mtm-card-kicker{font-size:12px;font-weight:800;letter-spacing:.06em;color:#6b7280;text-transform:uppercase}
.mtm-card-title{margin:0;font-size:24px;line-height:1.25}
.mtm-manifesto-box{background:#f9fafb;border-left:4px solid #111827;padding:14px 16px;white-space:pre-wrap}
.mtm-bullet-list{margin:0;padding-left:20px}
.mtm-bullet-list li{margin:10px 0;line-height:1.65}
.mtm-empty{padding:16px;background:#f9fafb;border-radius:8px;color:#374151}
.mtm-source-list{display:grid;gap:12px}
.mtm-source-item{border:1px solid #e5e7eb;padding:14px;background:#fff}
.mtm-source-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.mtm-source-head a{font-weight:700;text-decoration:none;color:#111827;word-break:break-all}
.mtm-source-quote{margin-top:12px;background:#f9fafb;padding:12px;white-space:pre-wrap;line-height:1.6;border-left:4px solid #4f46e5}
.mtm-log-grid{display:grid;gap:10px}
.mtm-log-item{border:1px solid #e5e7eb;padding:10px 12px}
.mtm-log-item.is-hit{border-color:#10b981;background:#f0fdf4}
.mtm-log-url{font-size:13px;font-weight:700;word-break:break-all}
.mtm-log-reason{font-size:13px;color:#374151;margin-top:4px}
@media (max-width: 768px){
  .mtm-title{font-size:24px}
  .mtm-form-grid{grid-template-columns:1fr}
  .mtm-source-head{flex-direction:column;align-items:flex-start}
}

.mtm-fixed-sources-note{background:#f9fafb;border:1px solid #e5e7eb;padding:14px 16px;border-radius:12px;color:#374151;line-height:1.7}
.mtm-bullet-list li{font-size:1.2em;line-height:1.8;margin:14px 0}
.mtm-bullet-list li mark{background:linear-gradient(transparent 45%, #fff59d 45%);padding:0 .1em}

.mtm-step2-note{margin-top:10px;color:#666;font-size:13px}
.mtm-confirm-box{padding:14px 16px;border:1px solid #ddd;background:#fafafa;border-radius:8px;margin-bottom:16px;line-height:1.7}
.mtm-topic-btn.is-active{border-color:#111;background:#111;color:#fff}
.mtm-topic-btn.is-active .mtm-topic-sub{color:#ddd}

.mtm-bullet-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.mtm-bullet-list li{padding:14px 16px;border:1px solid #fde68a;background:#fffdf4;border-radius:0}
.mtm-bullet-row{display:flex;gap:12px;align-items:flex-start}
.mtm-bullet-text{font-size:1.2em;line-height:1.7;color:#111827}
.mtm-tone-badge{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em;flex:0 0 auto;border:1px solid #d1d5db;background:#f3f4f6;color:#374151}
.mtm-tone-badge.tone-課題{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.mtm-tone-badge.tone-検討{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.mtm-tone-badge.tone-方針{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}
.mtm-tone-badge.tone-実施{background:#ecfdf5;border-color:#a7f3d0;color:#047857}
.mtm-tone-badge.tone-継続{background:#faf5ff;border-color:#e9d5ff;color:#7e22ce}
.mtm-tone-badge.tone-不明{background:#f3f4f6;border-color:#d1d5db;color:#4b5563}
.mtm-inline-mark{background:linear-gradient(transparent 58%, #fde68a 58%);padding:0 .08em;font-weight:800}

/* v3.6.6 refinements */
.mtm-topic-btn:hover{border-color:#9ca3af !important;background:#f9fafb !important;color:#111827 !important;}
.mtm-topic-btn.is-active{border-color:#c2410c !important;background:#fff7ed !important;color:#111827 !important;box-shadow:0 6px 18px rgba(194,65,12,.08) !important;}
.mtm-topic-btn.is-active .mtm-topic-label,.mtm-topic-btn.is-active .mtm-topic-sub{color:#111827 !important;}
.mtm-bullet-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0 0 68px;font-size:12px;color:#6b7280;}
.mtm-source-mini a{color:#6b7280;text-decoration:none;border-bottom:1px dotted #9ca3af;}
.mtm-mini-link{appearance:none;background:none;border:none;padding:0;color:#374151;font-size:12px;font-weight:700;cursor:pointer;text-decoration:underline;}
.mtm-related-box{margin-top:18px;padding:16px;border:1px solid #e5e7eb;background:#fafafa;border-radius:0;}
.mtm-related-title{font-size:12px;font-weight:800;letter-spacing:.06em;color:#6b7280;text-transform:uppercase;margin-bottom:10px;}
.mtm-related-list{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
.mtm-related-list li{padding:10px 12px;border:1px solid #e5e7eb;background:#fff;border-radius:0;}
.mtm-bullet-row.is-related .mtm-bullet-text{font-size:1.02em;line-height:1.65;color:#374151;}
.mtm-source-list-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;}
.mtm-source-item.compact{padding:10px 12px;font-size:12px;background:#fafafa;}
@media (max-width:768px){.mtm-bullet-meta{margin-left:0;}}

.mtm-topic-label{white-space:pre-wrap;}
.mtm-related-box{opacity:.92;}
