.rm { --rm-green:#196b60; --rm-warm:#986629; font-size:14px; line-height:1.65; }
.rm [hidden] { display:none !important; }
.rm h2,.prose .rm h2 { font-size:19px; line-height:1.45; margin:6px 0 12px; padding:0; }
.rm h3,.prose .rm h3 { font-size:15.5px; line-height:1.5; margin:5px 0 8px; }
.rm p { margin:6px 0 10px; }
.rm-eyebrow { color:var(--accent); font:500 12px/1.6 var(--f-mono); letter-spacing:.07em; }
.rm-intro { display:grid; grid-template-columns:1.5fr 1fr; gap:26px; padding:16px 0 22px; border-bottom:1px solid var(--line); }
.rm-intro h2,.prose .rm-intro h2 { font-size:25px; letter-spacing:-.035em; margin:8px 0 12px; }
.rm-intro-points,.rm-catalog-guide { margin:8px 0 12px; padding-left:20px; font-size:14px; }
.rm-intro-points li,.rm-catalog-guide li { margin:5px 0; }
.rm-path { margin:10px 0; padding:0; list-style:none; align-self:center; display:grid; gap:12px; }
.rm-path li { display:flex; align-items:center; gap:14px; padding:8px 22px 8px 8px; border:1px solid var(--line); border-radius:999px; background:var(--tint); font-size:15px; transition:background-color .15s,border-color .15s,box-shadow .15s; }
.rm-path li:hover { background:var(--accent-soft); border-color:var(--accent); box-shadow:0 4px 14px rgba(0,0,0,.08); }
.rm-path b { flex:none; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--accent); color:var(--paper); font:600 14px/1 var(--f-mono); }
.rm-path span { font-weight:600; line-height:1.4; }
.rm-primer { margin:18px 0; border:1px solid var(--line); border-radius:10px; padding:14px 18px; background:var(--tint); }
.rm summary { cursor:pointer; font-weight:600; }
.rm-primer-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 32px; margin-top:20px; }
.rm-primer-grid p { font-size:14px; }
.rm-primer-grid ul { padding-left:19px; font-size:14px; }
.rm-primer-grid li { margin:4px 0; }
.rm-workbench { padding:20px 0 24px; }
.rm-section-heading { display:flex; gap:20px; align-items:end; justify-content:space-between; }
.rm-section-heading a { display:inline-block; white-space:nowrap; font-size:13.5px; font-weight:600; margin-bottom:20px; padding:6px 16px; border-radius:999px; background:var(--tint); color:var(--ink); text-decoration:none; }
.rm-section-heading a:hover,.rm-section-heading a:focus-visible { background:var(--accent-soft); color:var(--accent); }
.rm-input-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:20px 0; }
.rm-field { background:var(--tint); border:1px solid var(--line); border-radius:10px; padding:16px; }
.rm-field label { display:block; font-size:14.5px; font-weight:600; line-height:1.6; }
.rm-field label b { display:inline-grid; place-items:center; width:26px; height:26px; background:var(--accent); color:var(--paper); border-radius:50%; margin-right:7px; font:500 14px var(--f-mono); }
.rm-field p { color:var(--muted); font-size:14px; margin:8px 0 14px; }
.rm textarea,.rm select { width:100%; min-width:0; border:1px solid var(--line); border-radius:6px; background:var(--paper); color:var(--ink); font:inherit; font-size:14px; padding:10px; }
.rm textarea { min-height:108px; resize:vertical; line-height:1.65; }
.rm textarea::placeholder { color:var(--muted); opacity:1; }
.rm :is(textarea,select,input):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.rm-conditions { padding:16px; margin:18px 0; border:1px solid var(--line); border-radius:10px; min-width:0; }
.rm-conditions legend { padding:0 8px; font-weight:600; }
.rm-conditions legend span { font-weight:400; font-size:13px; color:var(--muted); }
.rm-select-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 22px; }
.rm-select-grid label { display:block; font-size:14px; margin-bottom:7px; }
.rm select { min-height:48px; }
.rm-actions { display:flex; flex-wrap:wrap; gap:10px; margin:22px 0; }
.rm-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; text-align:center; padding:10px 18px; border:1px solid var(--line); border-radius:6px; background:var(--paper); color:var(--ink); text-decoration:none; font:500 14px/1.6 var(--f-body); cursor:pointer; }
.rm-button.primary { background:var(--accent); color:var(--paper); border-color:var(--accent); }
.rm-rule-note,.rm-small,.rm-case-note,.rm-source-policy p { color:var(--muted); font-size:14px; }
.rm-example-picker { padding:16px 0; border-block:1px solid var(--line); }
.rm-example-picker p { font-size:13px; color:var(--muted); }
.rm-example-buttons { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }
.rm-example-buttons button { font:inherit; font-size:14px; padding:9px 12px; border:1px solid var(--line); color:var(--ink); background:var(--tint); border-radius:6px; cursor:pointer; }
.rm-results { background:var(--tint); border:1px solid var(--line); border-radius:12px; padding:18px; margin-top:18px; scroll-margin-top:100px; }
.rm-result-card { background:var(--paper); padding:18px; border:1px solid var(--line); border-radius:8px; margin:16px 0; }
.rm-result-card h3 { margin:0 0 10px; }
.rm-result-card ul { padding-left:22px; }
.rm-tag { display:inline-block; color:var(--rm-green); font-size:12px; font-weight:600; margin-bottom:8px; }
.rm-missing { color:var(--rm-warm); font-size:14px; }
.rm-input-summary { font-size:14px; }
.rm-input-summary dt { font-weight:600; }
.rm-input-summary dd { margin:3px 0 12px; white-space:pre-wrap; overflow-wrap:anywhere; }
.rm-catalog { border-top:1px solid var(--line); padding-top:28px; }
.rm-category-links { display:flex; gap:10px; flex-wrap:wrap; margin:24px 0; }
.rm-category-links a { border:1px solid var(--line); border-radius:6px; padding:8px 16px; text-decoration:none; font-size:14px; transition:transform .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease; }
.rm-category-links a:hover,.rm-category-links a:focus-visible { background:var(--accent); border-color:var(--accent); color:var(--paper); transform:scale(1.08); box-shadow:0 4px 12px rgba(0,0,0,.14); }
@media(prefers-reduced-motion:reduce) { .rm-category-links a { transition:none; } .rm-category-links a:hover,.rm-category-links a:focus-visible { transform:none; } }
.rm-category { padding:26px 0 12px; scroll-margin-top:100px; }
.rm-category-heading { border-left:3px solid var(--accent); padding-left:16px; margin-bottom:20px; }
.rm-category-heading p { color:var(--muted); font-size:14px; margin:4px 0; }
.rm-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.rm-method-card { position:relative; border:1px solid var(--line); border-radius:9px; padding:18px; color:var(--ink); text-decoration:none; transition:border-color .15s, background .15s; }
.rm-method-card:hover { border-color:var(--accent); background:var(--tint); }
.rm-card-number { font:12px var(--f-mono); color:var(--muted); }
.rm-method-card h4 { font-size:15px; margin:8px 0; line-height:1.55; }
.rm-method-card h4 span { color:var(--accent); }
.rm-method-card p { font-size:14px; margin:6px 0 12px; }
.rm-method-card small { display:block; font-size:12.5px; color:var(--muted); border-top:1px solid var(--line); padding-top:12px; line-height:1.75; }
.rm-method-card small strong { display:block; color:var(--accent); font-size:11px; }
.rm-source-policy { border-top:1px solid var(--line); margin-top:30px; padding-top:20px; }
.rm-source-policy h2,.prose .rm-source-policy h2 { font-size:19px; }
.rm-back { display:inline-block; font-size:13.5px; padding:5px 14px; border-radius:999px; background:var(--tint); color:var(--ink); text-decoration:none; }
.rm-back:hover,.rm-back:focus-visible { background:var(--accent-soft); color:var(--accent); }
.rm-detail-intro { margin:20px 0; }
.rm-intro-block,.rm-beginner-tip { font-size:14.5px; line-height:1.6; }
.rm-intro-block { margin:10px 0 14px; }
.rm-intro-block > strong,.rm-beginner-tip > strong { display:block; color:var(--accent); }
.rm-detail-intro ul { margin:5px 0 0; padding-left:20px; list-style:disc outside; }
.rm-detail-intro li { margin:3px 0; }
.rm-beginner-tip { padding:12px 18px; border-left:3px solid var(--accent); background:var(--tint); }
.rm-detail-nav { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0; font-size:13.5px; }
.rm-detail-nav a { display:inline-block; padding:5px 14px; border-radius:999px; background:var(--tint); color:var(--ink); text-decoration:none; }
.rm-detail-nav a:hover,.rm-detail-nav a:focus-visible { background:var(--accent-soft); color:var(--accent); }
.rm-detail-section { margin:24px 0; scroll-margin-top:100px; }
.rm-detail-section li { margin:7px 0; }
.rm-scale-steps { padding-left:23px; }
.rm-scale-steps li { padding-left:4px; margin:9px 0; }
.rm-method-points { margin:0; padding-left:19px; font-size:14px; }
.rm-method-points li { margin:7px 0; }
.rm-scale-screening { padding-left:21px; }
.rm-scale-screening li { margin:9px 0; }
.rm-scale-panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:18px 0 12px; }
.rm-scale-panels section { min-width:0; padding:15px 17px; border:1px solid var(--line); border-radius:8px; background:var(--tint); }
.rm-scale-panels h3,.prose .rm-scale-panels h3 { margin:0 0 8px; font-size:15px; }
.rm-scale-panels ul { margin:0; padding-left:20px; }
@media(max-width:700px) { .rm-scale-panels { grid-template-columns:1fr; } }
.rm-data-example { background:var(--tint); border:1px solid var(--line); padding:18px; margin-top:18px; border-radius:8px; }
.rm-data-example h3,.prose .rm-data-example h3 { font-size:15.5px; margin:0 0 12px; }
.rm-data-example dt { color:var(--accent); font-size:13px; font-weight:600; }
.rm-data-example dd { margin:3px 0 12px; }
.rm-data-example dd ul,.rm-case-flow dd ul { margin:4px 0; }
.rm-data-example dd li,.rm-case-flow dd li { margin:4px 0; }
.rm-data-example small { font-size:12px; color:var(--muted); }
.rm-sample-row { padding:10px; background:var(--paper); border-radius:4px; overflow-wrap:anywhere; }
.rm-output-list { padding-left:26px; }
.rm-output-list li { padding:4px 8px; }
.rm-ultimate { padding:18px; background:var(--accent-soft); border-radius:10px; scroll-margin-top:100px; }
.rm-ultimate > p:first-of-type { font-size:15px; font-weight:500; }
.rm-case { border:1px solid var(--line); border-radius:10px; margin:16px 0; padding:18px; }
.rm-case-flow { display:grid; grid-template-columns:132px minmax(0,1fr); margin:16px 0 0; }
.rm-case-flow dt,.rm-case-flow dd { border-top:1px solid var(--line); padding:10px 0; margin:0; }
.rm-case-flow dt { padding-right:20px; font-weight:600; font-size:14px; color:var(--accent); }
.rm-self-check { background:var(--tint); border:1px solid var(--line); padding:18px; border-radius:10px; scroll-margin-top:100px; }
.rm-self-check fieldset { border:0; padding:10px 0; margin:10px 0 14px; min-width:0; border-bottom:1px solid var(--line); }
.rm-self-check legend { font-weight:500; }
.rm-self-check label { display:inline-flex; align-items:center; min-height:44px; gap:7px; margin-right:20px; font-size:14px; cursor:pointer; }
.rm-self-check input { accent-color:var(--accent); width:18px; height:18px; }
#rm-check-result:not(:empty) { margin-top:22px; padding:18px; background:var(--paper); border-radius:6px; }
.rm-related { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.rm-related a { padding:18px; border:1px solid var(--line); border-radius:6px; text-decoration:none; }
.rm-related span { display:block; font-size:14px; color:var(--muted); margin-top:8px; }
.rm-references { padding-left:26px; }
.rm-references > li { padding:16px 0; border-bottom:1px solid var(--line); }
.rm-references p { font-size:14px; }
.rm-references small { font-size:12px; color:var(--muted); overflow-wrap:anywhere; }
.rm-reading-focus { color:var(--muted); }
.rm-reading-focus strong { color:var(--ink); margin-right:8px; }
.rm-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(prefers-color-scheme:dark) { .rm { --rm-green:#8fd1bd; --rm-warm:#e7bd83; } }
@media(max-width:800px) { .rm-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .rm-intro { gap:24px; } .rm-section-heading { display:block; } }
@media(max-width:600px) { .rm { font-size:14px; line-height:1.65; } .rm-intro,.rm-input-grid,.rm-select-grid,.rm-primer-grid,.rm-related { grid-template-columns:1fr; } .rm-intro { gap:10px; padding-top:12px; } .rm-intro h2,.prose .rm-intro h2 { font-size:22px; } .rm-path { margin-top:0; } .rm-field,.rm-results,.rm-self-check,.rm-case,.rm-ultimate { padding:15px; } .rm-card-grid { grid-template-columns:1fr; } .rm-case-flow { grid-template-columns:1fr; } .rm-case-flow dt { padding:10px 0 0; } .rm-case-flow dd { padding:4px 0 11px; border-top:0; } .rm h2,.prose .rm h2 { font-size:18px; } .rm-ultimate > p:first-of-type { font-size:15px; } .rm-self-check label { margin-right:12px; } .rm-actions > * { width:100%; } }
@media print { .rm-detail-nav,.rm-self-check form,.rm-actions,.rm-back,.tabs { display:none; } .rm-case,.rm-ultimate { break-inside:avoid; } }
.rm-glossary dt { color:var(--accent); font-weight:600; margin-top:14px; }
.rm-glossary dd { margin:4px 0 12px; font-size:14px; }
.rm-glossary-stage { margin:18px 0 24px; padding-top:4px; border-top:1px solid var(--line); }
.rm-glossary-stage h3 { margin:14px 0 8px; font-size:16px; }
.rm-glossary-source { padding-top:10px; border-top:1px solid var(--line); }

/* Compact typography is limited to the research-method guide and its detail pages. */
.page--research-methods .page-head--menu { gap:6px; margin-bottom:22px; }
.page--research-methods .page-head--menu h1 { font-size:clamp(22px,2.8vw,26px); line-height:1.4; }
.page--research-methods .page-head--menu .lede { font-size:14px; }
.page--research-methods .tabs { gap:5px; margin-bottom:20px; }
.page--research-methods .tabs a { font-size:13.5px; padding:5px 12px; }
.rm-choice-lead { font-size:14px; font-weight:500; padding:12px 16px; background:var(--accent-soft); border-radius:6px; }
.rm-choice-profile { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; margin:18px 0 22px; }
.rm-choice-profile section { min-width:0; padding:12px 0; border-bottom:1px solid var(--line); }
.rm-choice-profile h3,.prose .rm-choice-profile h3 { margin:0 0 6px; font-size:14.5px; line-height:1.5; }
.rm-choice-profile p { margin:0; font-size:14px; }
.rm-choice-conditions-title,.prose .rm-choice-conditions-title { margin:22px 0 4px; font-size:16px; }
.rm-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; margin:18px 0; }
.rm-choice-grid section { min-width:0; border-top:1px solid var(--line); padding-top:10px; }
.rm-choice-grid h3,.prose .rm-choice-grid h3 { margin:0 0 7px; font-size:14.5px; line-height:1.6; }
.rm-choice-grid p { margin:0; font-size:14px; }
.rm-choice-compare { padding:14px 18px; background:var(--tint); border-radius:6px; }
.rm-choice-compare h3,.prose .rm-choice-compare h3 { margin:0 0 8px; font-size:15px; }
.rm-choice-compare dl { display:grid; grid-template-columns:138px minmax(0,1fr); column-gap:18px; row-gap:10px; margin:0; font-size:14px; }
.rm-choice-compare dt { font-weight:600; }
.rm-choice-compare dd { margin:0; }
.rm-choice-sources { font-size:12.5px; }
@media(max-width:600px) {
 .page--research-methods .page-head--menu { margin-bottom:22px; }
 .page--research-methods .page-head--menu h1 { font-size:22px; }
 .rm-choice-lead { font-size:14px; padding:12px 14px; }
 .rm-choice-profile { grid-template-columns:1fr; margin:14px 0 18px; }
 .rm-choice-grid { grid-template-columns:1fr; gap:12px; }
 .rm-choice-grid h3,.prose .rm-choice-grid h3 { font-size:14.5px; }
 .rm-choice-grid p { font-size:14px; }
 .rm-choice-compare { padding:14px; }
 .rm-choice-compare dl { grid-template-columns:1fr; row-gap:4px; }
 .rm-choice-compare dd { margin-bottom:8px; }
}

.rm-next { margin:22px 0 8px; padding-top:20px; border-top:1px solid var(--line); }
.rm[data-view] .rm-view-intro,.rm[data-view] .rm-view-start,.rm[data-view] .rm-view-catalog { display:none; }
.rm[data-view="intro"] .rm-view-intro { display:block; }
.rm[data-view="intro"] .rm-intro.rm-view-intro { display:grid; }
.rm[data-view="start"] .rm-view-start,.rm[data-view="catalog"] .rm-view-catalog { display:block; }
details.rm-fold { margin:18px 0; border:1px solid var(--line); border-radius:10px; padding:14px 18px; background:var(--tint); }
details.rm-fold.rm-self-check { padding:14px 18px; background:var(--tint); border:1px solid var(--line); }
.rm-fold > summary { cursor:pointer; font-weight:600; }
.rm-fold > summary > h2,.rm-fold > summary > h3,.prose .rm-fold > summary > h2 { display:inline; margin:0; padding:0; font-size:15px; line-height:1.6; font-weight:600; letter-spacing:0; }
.rm-fold > summary > .rm-eyebrow { display:inline; margin-right:10px; font-size:12px; }
.rm-fold > summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.rm-fold-body { padding:14px 0 2px; }
.rm-fold-sub { margin:16px 0; }
.rm-fold-sub > summary > h3 { font-size:15px; }
.rm-procedure { margin:12px 0; padding-left:22px; }
.rm-procedure > li { margin:0 0 18px; padding:0 0 16px; border-bottom:1px solid var(--line); }
.rm-procedure > li:last-child { border-bottom:0; }
.rm .rm-procedure h4 { margin:0 0 8px; font-size:15px; }
.rm-procedure dl { margin:0; }
.rm-procedure dt { margin:8px 0 2px; font-size:13px; font-weight:600; color:var(--accent); }
.rm-procedure dd { margin:0; font-size:14px; line-height:1.7; }
.rm-ultimate-structure { margin:10px 0 14px; }
.rm-ultimate h3 { margin:14px 0 8px; font-size:15px; }
.rm-ultimate-compare { margin:8px 0 0; }
.rm-ultimate-compare dt { margin:14px 0 4px; font-weight:600; }
.rm-ultimate-compare dd { margin:0; font-size:14px; }
.rm-ultimate-compare dd span { display:block; margin:3px 0; }
.rm-reference-badges { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:6px; }
.rm-reference-badges span { font-size:11px; padding:2px 8px; border-radius:4px; background:var(--accent-soft); color:var(--accent); }
.rm-primer-grid .rm-primer-wide { grid-column:1 / -1; }
.rm-result-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 28px; }
.rm .rm-result-columns h4 { margin:14px 0 6px; font-size:14px; color:var(--accent); }
.rm-result-columns li strong { display:block; }
@media(max-width:800px) { .rm-result-columns { grid-template-columns:1fr; } }
.rm-data-types { margin:8px 0 12px; }
.rm-data-types dt { margin:12px 0 2px; font-weight:600; color:var(--accent); }
.rm-data-types dd { margin:0; font-size:14px; line-height:1.7; }

.rm-english { display:inline-block; margin:0; align-self:flex-start; width:fit-content; padding:3px 12px; border-radius:999px; background:var(--accent); color:var(--paper); font-size:13px; font-weight:600; letter-spacing:0; }
.rm-struct h3 { margin:18px 0 8px; font-size:15px; }
.rm-struct h4 { margin:16px 0 6px; font-size:14px; color:var(--accent); }
.rm-struct-summary { font-size:14.5px; line-height:1.75; padding:12px 14px; border-left:3px solid var(--accent); background:var(--accent-soft); border-radius:0 8px 8px 0; }
.rm-diagram { margin:8px 0 4px; padding:14px 16px; overflow-x:auto; background:var(--paper); border:1px solid var(--line); border-radius:10px; font:13px/1.8 var(--f-mono); white-space:pre; color:var(--ink); }
.rm-table-wrap { overflow-x:auto; margin:8px 0; }
.rm-table { width:100%; border-collapse:collapse; font-size:13.5px; background:var(--paper); }
.rm-table th,.rm-table td { padding:8px 10px; border:1px solid var(--line); text-align:left; vertical-align:top; line-height:1.55; }
.rm-table thead th { background:var(--tint); font-weight:600; white-space:nowrap; }
.rm-var-table tbody th { background:var(--tint); font-weight:600; white-space:nowrap; }
.rm-data-table td { font-family:var(--f-mono); font-size:12.5px; }
@media(max-width:760px) { .rm-table { min-width:640px; } .rm-data-table td,.rm-data-table th { min-width:64px; } .rm-data-table td:last-child { min-width:150px; } }
.rm-data-table td { word-break:keep-all; }

/* 예시 연구모형 도식 */
.rm-model { margin:22px 0 28px; padding-top:6px; }
.rm-model h3 { margin:0 0 6px; font-size:15.5px; }
.rm-model h4 { margin:14px 0 4px; font-size:14px; color:var(--accent); }
.rm-model-q,.rm-model-how { font-size:14px; line-height:1.7; margin:6px 0; }
.mm-wrap { overflow-x:auto; margin:10px 0 6px; padding:10px; background:var(--paper); border:1px solid var(--line); border-radius:10px; }
.mm-svg { display:block; width:100%; min-width:600px; max-width:var(--mm-w,900px); height:auto; margin:0 auto; font-family:inherit; }
.mm-x { --rc:var(--accent); } .mm-m { --rc:var(--rm-green); } .mm-w { --rc:var(--rm-warm); } .mm-y { --rc:#9b3d4f; } .mm-c { --rc:var(--muted); }
@media(prefers-color-scheme:dark) { .mm-y { --rc:#e69aa8; } }
.mm-node { fill:color-mix(in srgb, var(--rc) 9%, var(--paper)); stroke:var(--rc); stroke-width:1.6; }
.mm-group { fill:none; stroke:var(--line); stroke-width:1.4; stroke-dasharray:5 4; }
.mm-gt { fill:var(--muted); font-size:12.5px; font-weight:700; }
.mm-t { fill:var(--ink); font-size:13.5px; font-weight:700; }
.mm-ts { font-size:12px; font-weight:600; }
.mm-r { fill:var(--rc, var(--muted)); font-size:10.5px; font-weight:600; }
.mm-edge { fill:none; stroke:var(--accent); stroke-width:1.7; }
.mm-thin { stroke:var(--muted); stroke-width:1.1; }
.mm-dash { stroke-dasharray:6 4; }
.mm-ah { fill:var(--accent); }
.mm-lbg { fill:var(--paper); opacity:.94; }
.mm-lbl { fill:var(--ink); font-size:12px; font-weight:600; }
.mm-note { fill:var(--muted); font-size:12px; }
.mm-strong { fill:var(--accent); font-weight:700; }
.mm-legend { display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:6px 0 0; padding:0; }
.mm-chip { display:inline-flex; align-items:center; gap:6px; padding:3px 11px; border-radius:999px; background:var(--tint); font-size:12.5px; font-weight:600; color:var(--ink); }
.mm-chip::before { content:""; width:10px; height:10px; border-radius:50%; background:var(--rc); }

.rm-chip-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin:0 0 12px; }
.rm-cat-nav { display:flex; flex-wrap:wrap; gap:8px; }
.rm-cat-nav a { display:inline-block; padding:3px 14px; border-radius:999px; background:var(--tint); color:var(--ink); font-size:13px; font-weight:600; text-decoration:none; transition:transform .15s ease, background-color .15s ease, color .15s ease, box-shadow .15s ease; }
.rm-cat-nav a:hover,.rm-cat-nav a:focus-visible { transform:scale(1.08); background:var(--accent-soft); color:var(--accent); box-shadow:0 3px 10px rgba(0,0,0,.1); }
.rm-cat-nav a.is-current { background:var(--accent); color:var(--paper); }
.rm-cat-nav a.is-current:hover,.rm-cat-nav a.is-current:focus-visible { background:var(--accent); color:var(--paper); }
@media(prefers-reduced-motion:reduce) { .rm-cat-nav a { transition:none; } .rm-cat-nav a:hover { transform:none; } }

/* 결과 그림 (SNA·토픽모델링) */
.rf-n0 { fill:var(--tint); stroke:var(--muted); stroke-dasharray:3 2; } .rf-n1 { fill:color-mix(in srgb,var(--accent) 35%,var(--paper)); stroke:var(--accent); }
.rf-n2 { fill:color-mix(in srgb,var(--rm-green) 35%,var(--paper)); stroke:var(--rm-green); } .rf-n3 { fill:color-mix(in srgb,var(--rm-warm) 35%,var(--paper)); stroke:var(--rm-warm); }
.rf-n4 { fill:color-mix(in srgb,#9b3d4f 30%,var(--paper)); stroke:#9b3d4f; stroke-width:3; }
.rf-node { stroke-width:1.8; } .rf-edge { stroke:var(--muted); stroke-width:1.2; opacity:.7; }
.rf-id { fill:var(--ink); font-size:11.5px; } .rf-call { fill:var(--accent); font-size:12px; font-weight:700; }
.rf-box { fill:var(--tint); stroke:var(--line); } .rf-k { fill:var(--muted); font-size:12px; font-weight:600; } .rf-v { fill:var(--ink); font-size:12px; font-weight:700; }
.rf-bar { stroke:none; } .rf-b1 { fill:var(--accent); } .rf-b2 { fill:var(--rm-green); } .rf-b3 { fill:var(--rm-warm); } .rf-b4 { fill:#9b3d4f; }
.rf-row { fill:var(--tint); } .rf-grid { stroke:var(--line); stroke-width:1; }
.rf-line { fill:none; stroke-width:2.4; } .rf-l1 { stroke:var(--accent); } .rf-l2 { stroke:var(--rm-green); } .rf-l3 { stroke:var(--rm-warm); }
.rf-dot.rf-l1 { fill:var(--accent); stroke:none; } .rf-dot.rf-l2 { fill:var(--rm-green); stroke:none; } .rf-dot.rf-l3 { fill:var(--rm-warm); stroke:none; }

.rm-variant-link { display:inline-block; padding:3px 14px; border-radius:999px; background:var(--accent-soft); border:1px solid var(--accent); color:var(--accent); font-size:13px; font-weight:700; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease; }
.rm-variant-link:hover,.rm-variant-link:focus-visible { transform:scale(1.08); box-shadow:0 3px 10px rgba(0,0,0,.12); }
.rm-cmp-table tbody th { background:var(--tint); font-weight:700; white-space:nowrap; }
.rm-cmp-table td { min-width:180px; }

.rm-path li { padding:0 !important; }
.rm-path li > a { display:flex; align-items:center; gap:14px; width:100%; padding:8px 22px 8px 8px; color:inherit; text-decoration:none; border-radius:999px; }
.rm-path li > a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.rm-path li:hover b { transform:scale(1.08); } .rm-path b { transition:transform .15s ease; }

.rm-glossary-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:10px 0 4px; }
.rm-glossary-tools label { font-weight:600; font-size:13.5px; }
.rm-glossary-tools input { flex:1 1 220px; max-width:360px; padding:8px 14px; border:1px solid var(--line); border-radius:999px; background:var(--paper); color:var(--ink); font:inherit; font-size:14px; }
.rm .rm-glossary-h { margin:20px 0 6px; font-size:15.5px; color:var(--accent); padding-top:10px; border-top:1px solid var(--line); }
.rm-glossary-method { margin:10px 0 6px; } .rm .rm-glossary-method h4 { margin:12px 0 4px; font-size:14px; } .rm-glossary-method h4 a { text-decoration:none; font-weight:700; }
.rm-glossary-method dl { margin:0; } .rm-gloss-item[hidden],.rm-glossary-method[hidden],.rm-glossary-cat[hidden],.rm-glossary-base[hidden] { display:none !important; }
.rm-glossary-method dt { margin:8px 0 2px; font-weight:600; } .rm-glossary-method dd { margin:0; font-size:14px; line-height:1.7; }
.rm-mini-link { display:inline-block; margin-left:8px; padding:0 9px; border-radius:999px; background:var(--tint); color:var(--accent); font-size:11.5px; font-weight:600; text-decoration:none; vertical-align:1px; transition:transform .15s ease, background-color .15s ease; }
.rm-mini-link:hover,.rm-mini-link:focus-visible { transform:scale(1.08); background:var(--accent-soft); }
.rm-result-columns li strong { display:inline; }
.rf-v[fill="#fff"] { fill:#fff; }

.rm-result-card.is-best { border:2px solid var(--accent); }
.rm-result-card h3 a { text-decoration:none; }
.rm-result-card h3 a:hover { text-decoration:underline; }
.rm-fit-note { font-weight:600; }
.rm-crosscheck { width:100%; border-collapse:collapse; margin:8px 0 14px; font-size:13px; }
.rm-crosscheck th,.rm-crosscheck td { border-bottom:1px solid var(--line); padding:6px 8px; text-align:left; vertical-align:top; }
.rm-crosscheck th { width:104px; font-weight:600; color:var(--muted); white-space:nowrap; }
.rm-crosscheck td { color:var(--muted); }
.rm-crosscheck td.is-hit,.rm-crosscheck td.is-ok { color:var(--accent); font-weight:600; }
.rm-crosscheck td.is-warn,.rm-crosscheck td.is-no { color:#9b3d4f; font-weight:600; }

/* 휴대폰: 도식은 화면 폭에 맞춰 줄이고(두 손가락으로 확대), 표는 칸을 카드처럼 세로로 쌓는다. */
@media(max-width:640px) {
  .mm-wrap { overflow-x:visible; padding:6px; margin-left:-6px; margin-right:-6px; }
  .mm-svg { min-width:0; width:100%; }
  .mm-wrap { cursor:zoom-in; }
  .mm-wrap::after { content:"그림을 누르면 가로로 크게 볼 수 있습니다."; display:block; margin-top:4px; font-size:11.5px; color:var(--muted); text-align:center; }
  .rm-diagram { font-size:11px; line-height:1.7; padding:10px 12px; white-space:pre-wrap; word-break:keep-all; }
  .rm-table-wrap { overflow-x:visible; }
  .rm-table { min-width:0; width:100%; }
  .rm-table thead { display:none; }
  .rm-table, .rm-table tbody, .rm-table tr, .rm-table th, .rm-table td { display:block; width:auto; }
  .rm-table tr { border:1px solid var(--line); border-radius:8px; padding:8px 12px; margin:0 0 8px; background:var(--paper); }
  .rm-table th, .rm-table td { border:0; padding:3px 0; min-width:0 !important; text-align:left; }
  .rm-table th[scope="row"] { font-weight:700; padding-bottom:4px; }
  .rm-table td[data-label]::before { content:attr(data-label); display:block; font-size:11.5px; font-weight:600; color:var(--muted); }
  .rm-data-table td:first-child { font-weight:700; }
}
.mm-zoom { position:fixed; inset:0; z-index:1000; background:var(--paper,#fff); display:flex; align-items:center; justify-content:center; cursor:zoom-out; }
.mm-zoom svg { flex:none; min-width:0; max-width:none; transform:rotate(90deg); }
.mm-zoom-close { position:fixed; top:12px; right:12px; z-index:1; font:inherit; font-size:14px; padding:6px 12px; border:1px solid var(--line); border-radius:999px; background:var(--paper,#fff); color:var(--ink); }
