.iiisr-sem-app{
  --bg:#f5f7fb;--panel:#fff;--ink:#172033;--muted:#6f788a;--line:#e4e8ef;--brand:#6657e8;--brand2:#7a6cf0;--soft:#f2efff;--success:#1f8f62;--warn:#b96f00;--danger:#c6455a;--shadow:0 12px 34px rgba(28,34,48,.08);
  color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);border:1px solid var(--line);border-radius:18px;overflow:hidden;min-height:900px
}
.iiisr-sem-app [hidden]{display:none!important}
.iiisr-sem-app *{box-sizing:border-box}.iiisr-sem-app button,.iiisr-sem-app input,.iiisr-sem-app select{font:inherit}.sem-shell{min-height:900px;position:relative}.sem-topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 18px;background:#fff;border-bottom:1px solid var(--line)}
.sem-brand-wrap{display:flex;align-items:center;gap:10px}.sem-logo{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--brand),#8c7df4);color:#fff;font-weight:900;font-size:20px;box-shadow:0 8px 18px rgba(102,87,232,.22)}.sem-title{font-size:15px;font-weight:850}.sem-subtitle{font-size:11px;color:var(--muted);margin-top:1px}.sem-top-actions{display:flex;gap:8px}.sem-btn{border:1px solid var(--line);border-radius:10px;min-height:36px;padding:0 12px;background:#fff;color:#3d4658;font-weight:700;font-size:12px;cursor:pointer}.sem-btn:hover{border-color:#cfd4df;background:#fafbfc}.sem-btn-primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 5px 14px rgba(102,87,232,.18)}.sem-btn-primary:hover{background:#594ada}.sem-btn-soft{background:#fff}.sem-canvas-actions .sem-btn.is-active,.sem-canvas-actions .sem-btn:focus-visible{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 5px 14px rgba(102,87,232,.22);outline:0}.sem-canvas-actions .sem-btn.is-active:hover,.sem-canvas-actions .sem-btn:focus-visible:hover{background:#594ada;border-color:#594ada;color:#fff}.sem-btn-ghost{border-color:transparent;background:transparent}.sem-btn:disabled{opacity:.55;cursor:not-allowed}.sem-icon-btn{width:32px;height:32px;border:1px solid var(--line);border-radius:9px;background:#fff;display:grid;place-items:center;color:#687084;cursor:pointer}.sem-link-btn{border:0;background:transparent;color:var(--brand);font-size:11px;font-weight:750;cursor:pointer;padding:0}.sem-projectbar{height:42px;background:#fafbfc;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:16px}.sem-project-name{border:0;background:transparent;outline:0;min-width:0;max-width:520px;flex:1;font-size:12.5px;font-weight:750;color:#30394a}.sem-project-meta{display:flex;gap:6px;align-items:center;font-size:10.5px;color:var(--muted);white-space:nowrap}.sem-main{display:grid;grid-template-columns:250px minmax(0,1fr) 285px;min-height:794px}.sem-panel{background:#fff;min-width:0}.sem-left-panel{border-right:1px solid var(--line)}.sem-right-panel{border-left:1px solid var(--line)}.sem-panel-head{height:54px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 13px}.sem-panel-head strong{display:block;font-size:12.5px}.sem-panel-head span{display:block;font-size:10px;color:var(--muted);margin-top:2px}.sem-upload-card{margin:13px;border:1px dashed #d4d8e3;border-radius:14px;padding:18px 14px;text-align:center;background:#fbfbfd}.sem-upload-card .sem-upload-icon{width:42px;height:42px;border-radius:12px;background:var(--soft);color:var(--brand);display:grid;place-items:center;margin:0 auto 10px;font-size:20px}.sem-upload-card strong{font-size:12px}.sem-upload-card p{font-size:10.5px;line-height:1.5;color:var(--muted);margin:6px 0 12px}.sem-data-tools{padding:10px 11px;border-bottom:1px solid #eff1f5}.sem-search{width:100%;height:34px;border:1px solid var(--line);border-radius:9px;padding:0 10px;outline:0;font-size:11.5px}.sem-search:focus{border-color:#b7aef6;box-shadow:0 0 0 3px rgba(102,87,232,.08)}.sem-mini-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:10px;color:var(--muted);gap:8px}.sem-variable-list{padding:8px;max-height:685px;overflow:auto}.sem-variable{display:flex;align-items:center;gap:8px;padding:8px 9px;border:1px solid transparent;border-radius:9px;margin-bottom:4px;cursor:grab;font-size:11.5px;color:#465063;background:#fff}.sem-variable:hover{background:#f8f7ff;border-color:#e6e1ff}.sem-variable .var-dot{width:8px;height:8px;border-radius:50%;background:#a59bed;flex:0 0 auto}.sem-variable .var-type{margin-left:auto;font-size:9px;color:#939aab}.sem-variable.assigned{opacity:.5}.sem-center{min-width:0;display:flex;flex-direction:column}.sem-modebar{height:54px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 12px;gap:10px}.sem-segmented{display:flex;background:#f1f3f7;border-radius:10px;padding:3px}.sem-segmented button{border:0;background:transparent;color:#6d7586;padding:7px 13px;border-radius:8px;font-size:11.5px;font-weight:750;cursor:pointer}.sem-segmented button.active{background:#fff;color:#30384a;box-shadow:0 2px 7px rgba(25,31,43,.06)}.sem-canvas-actions{display:flex;gap:6px}.sem-workspace{position:relative;min-height:740px;flex:1}.sem-canvas{position:absolute;inset:0;overflow:auto;background-image:radial-gradient(#dfe3eb 1px,transparent 1px);background-size:22px 22px;background-color:#f8f9fc}.sem-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.sem-canvas-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:var(--muted)}.sem-canvas-empty h3{margin:8px 0 5px;font-size:15px;color:#313a4c}.sem-canvas-empty p{max-width:420px;font-size:11.5px;line-height:1.6;margin:0 0 14px}.sem-empty-graphic{width:48px;height:48px;border-radius:14px;background:var(--soft);display:grid;place-items:center;color:var(--brand);font-size:22px}.sem-construct{position:absolute;width:178px;background:#fff;border:1px solid #dfe3eb;border-radius:14px;box-shadow:0 10px 25px rgba(30,37,52,.09);user-select:none;z-index:5}.sem-construct.selected{border-color:#9f93f4;box-shadow:0 0 0 3px rgba(102,87,232,.10),0 10px 25px rgba(30,37,52,.09)}.sem-construct.connect-source{border-color:var(--brand);box-shadow:0 0 0 3px rgba(102,87,232,.13)}.sem-construct-head{padding:10px 11px;border-bottom:1px solid #edf0f4;display:flex;align-items:center;gap:7px;cursor:move}.sem-construct-badge{width:25px;height:25px;border-radius:8px;background:var(--soft);color:var(--brand);display:grid;place-items:center;font-size:10px;font-weight:900}.sem-construct-title{font-size:11.5px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.sem-construct-type{font-size:8.5px;color:#8a92a3}.sem-indicator-zone{padding:8px;min-height:48px}.sem-indicator-chip{display:flex;align-items:center;gap:6px;padding:6px 7px;border-radius:8px;background:#f7f8fb;border:1px solid #eceef3;font-size:10.5px;margin-bottom:5px}.sem-indicator-chip:last-child{margin-bottom:0}.sem-indicator-chip button{margin-left:auto;border:0;background:transparent;color:#9aa1af;cursor:pointer;padding:0;font-size:12px}.sem-drop-hint{font-size:9.5px;color:#a1a8b6;text-align:center;padding:4px}.sem-path{stroke:#7d73d9;stroke-width:2.1;fill:none;marker-end:url(#semArrow)}.sem-path.result-positive{stroke:#2b8d66}.sem-path.result-negative{stroke:#c44f62}.sem-path-label{font-size:11px;font-weight:800;fill:#394254;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}.sem-results-pane{position:absolute;inset:0;background:#f7f8fb;overflow:auto}.sem-results-tabs{position:sticky;top:0;z-index:4;display:flex;gap:4px;padding:10px 12px;background:#fff;border-bottom:1px solid var(--line);overflow:auto}.sem-results-tabs button{border:0;background:transparent;border-radius:8px;padding:7px 10px;font-size:10.5px;font-weight:750;color:#707889;white-space:nowrap;cursor:pointer}.sem-results-tabs button.active{background:var(--soft);color:var(--brand)}.sem-results-content{padding:14px;max-width:1180px;margin:0 auto}.sem-result-empty{padding:60px 20px;text-align:center;color:var(--muted)}.sem-result-empty .sem-empty-graphic{margin:auto}.sem-result-empty h3{color:#30394b;font-size:15px;margin:10px 0 4px}.sem-result-empty p{font-size:11px}.sem-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.sem-stat-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}.sem-stat-card small{font-size:9.5px;color:var(--muted);display:block}.sem-stat-card strong{font-size:18px;display:block;margin-top:2px}.sem-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px;margin-bottom:11px;box-shadow:0 3px 12px rgba(24,30,44,.03)}.sem-card h3{font-size:12.5px;margin:0 0 9px}.sem-card p{font-size:10.5px;line-height:1.55;color:var(--muted);margin:0}.sem-table-wrap{overflow:auto;border:1px solid #edf0f4;border-radius:10px}.sem-table{width:100%;border-collapse:collapse;font-size:10.5px;background:#fff}.sem-table th{background:#f7f8fb;text-align:left;color:#626b7d;font-size:9.5px;font-weight:800;padding:8px;border-bottom:1px solid #e9ecf2;white-space:nowrap}.sem-table td{padding:8px;border-bottom:1px solid #eff1f5;white-space:nowrap}.sem-table tr:last-child td{border-bottom:0}.sem-status-ok{color:var(--success);font-weight:800}.sem-status-warn{color:var(--warn);font-weight:800}.sem-status-bad{color:var(--danger);font-weight:800}.sem-settings-scroll{padding:0 12px 15px;max-height:740px;overflow:auto}.sem-settings-section{padding:13px 0;border-bottom:1px solid #eef1f5}.sem-section-label{text-transform:uppercase;letter-spacing:.07em;font-size:9px;font-weight:850;color:#8a91a0;margin-bottom:9px}.sem-selection-empty{font-size:10.5px;line-height:1.5;color:var(--muted);padding:8px 0}.sem-field{display:block;margin-bottom:9px}.sem-field>span{display:block;font-size:10px;color:#6d7586;margin-bottom:4px}.sem-field input,.sem-field select{width:100%;height:33px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 8px;font-size:11px;outline:0}.sem-field input:focus,.sem-field select:focus{border-color:#b7aef6}.sem-stack-actions{display:grid;gap:6px}.sem-stack-actions .sem-btn{width:100%;text-align:left}.sem-note{margin-top:12px;border:1px solid #e5e0ff;background:#faf9ff;border-radius:11px;padding:10px}.sem-note strong{font-size:10.5px;color:#5548c8}.sem-note p{font-size:9.5px;line-height:1.5;color:#70788b;margin:4px 0 0}.sem-toast-wrap{position:fixed;right:16px;bottom:16px;z-index:99999;display:grid;gap:7px;pointer-events:none}.sem-toast{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:9px 11px;min-width:220px;max-width:340px;font-size:11px;color:#3d4658;animation:semToast .18s ease}.sem-toast.success{border-left:3px solid var(--success)}.sem-toast.warn{border-left:3px solid var(--warn)}.sem-toast.error{border-left:3px solid var(--danger)}@keyframes semToast{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.sem-modal-backdrop{position:fixed;inset:0;background:rgba(20,24,34,.42);display:grid;place-items:center;padding:18px;z-index:99990}.sem-modal{width:min(620px,100%);max-height:min(720px,90vh);background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(13,17,25,.22);overflow:hidden}.sem-modal-head{height:52px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:13px}.sem-modal-body{padding:15px;overflow:auto;max-height:calc(90vh - 52px)}.sem-progress{height:8px;background:#eceef4;border-radius:999px;overflow:hidden;margin:10px 0}.sem-progress>div{height:100%;background:var(--brand);width:0;transition:width .15s}.sem-analysis-log{font-size:10px;color:var(--muted);line-height:1.55}.sem-mobile-nav{display:none}.sem-selection-editor .sem-danger-btn{border-color:#f1ccd2;color:var(--danger);background:#fff9fa}.sem-inline-two{display:grid;grid-template-columns:1fr 1fr;gap:7px}.sem-path-pill{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border:1px solid var(--line);border-radius:9px;font-size:10.5px}.sem-muted{color:var(--muted)}
@media(max-width:1180px){.sem-main{grid-template-columns:220px minmax(0,1fr) 250px}.sem-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.iiisr-sem-app{border-radius:0;min-height:calc(100vh - 20px)}.sem-shell{padding-bottom:57px}.sem-main{display:block;min-height:600px}.sem-left-panel,.sem-right-panel{position:absolute;left:0;right:0;top:106px;bottom:57px;z-index:40;border:0;display:none}.sem-left-panel.mobile-open,.sem-right-panel.mobile-open{display:block}.sem-center{min-height:calc(100vh - 163px)}.sem-mobile-nav{position:absolute;left:0;right:0;bottom:0;height:57px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);z-index:60}.sem-mobile-nav button{border:0;background:#fff;font-size:10px;color:#777f90;font-weight:750}.sem-mobile-nav button.active{color:var(--brand);background:#faf9ff}.sem-modebar{padding:0 8px}.sem-canvas-actions .sem-btn{padding:0 9px}.sem-project-meta{display:none}.sem-settings-scroll,.sem-variable-list{max-height:none}.sem-results-tabs{top:0}.sem-top-actions .sem-btn-ghost{display:none}.sem-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.sem-topbar{height:58px;padding:0 10px}.sem-subtitle{display:none}.sem-projectbar{height:40px;padding:0 10px}.sem-main{min-height:560px}.sem-left-panel,.sem-right-panel{top:98px}.sem-top-actions{gap:5px}.sem-top-actions .sem-btn{padding:0 9px}.sem-modebar{height:50px}.sem-canvas-actions .sem-btn:nth-child(4){display:none}.sem-result-grid{grid-template-columns:1fr 1fr}.sem-construct{width:160px}.sem-results-content{padding:10px}.sem-card{padding:10px}}


/* v1.1 — classic SEM / ADANCO-inspired model notation */
.sem-canvas{background-color:#fbfcfe;background-image:radial-gradient(#dfe5ec .8px,transparent .8px);background-size:18px 18px;min-height:740px}
.sem-links{z-index:1}.sem-construct{width:132px;height:68px;background:transparent;border:0;border-radius:50%;box-shadow:none;z-index:5;overflow:visible}
.sem-construct-body{width:132px;height:68px;border-radius:50%;border:1.8px solid #d39a28;background:linear-gradient(180deg,#fff8df,#ffefbd);box-shadow:0 5px 13px rgba(62,50,17,.10);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:9px 13px;cursor:move;transition:.15s ease;position:relative}
.sem-construct.selected .sem-construct-body{border-color:#6a5ee8;box-shadow:0 0 0 4px rgba(102,87,232,.12),0 5px 13px rgba(62,50,17,.10)}
.sem-construct.connect-source .sem-construct-body{border-color:#315f91;box-shadow:0 0 0 4px rgba(49,95,145,.13)}
.sem-construct.drop-target .sem-construct-body{border-color:#168a5b;background:#edfbf4;box-shadow:0 0 0 4px rgba(22,138,91,.12)}
.sem-construct-title{font-size:11.5px;font-weight:850;line-height:1.15;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:108px;color:#222c3c}
.sem-construct-r2{font-size:9px;font-weight:800;color:#536074;margin-top:3px}
.sem-construct .sem-drop-hint{font-size:8px;color:#9c7b37;padding:0;margin-top:2px}
.sem-indicator-node{position:absolute;width:82px;height:29px;border:1px solid #aeb7c4;border-radius:4px;background:#fff;box-shadow:0 2px 5px rgba(26,34,48,.06);display:flex;align-items:center;justify-content:center;gap:4px;padding:0 15px 0 7px;font-size:10.5px;color:#273142;z-index:5;user-select:none}
.sem-indicator-node>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sem-indicator-node small{font-size:8.5px;font-weight:800;color:#2d7c5d}.sem-indicator-node button{position:absolute;right:3px;top:3px;width:18px;height:20px;border:0;background:transparent;color:#a3aab6;font-size:13px;line-height:1;cursor:pointer;opacity:0}.sem-indicator-node:hover button{opacity:1}.sem-indicator-node:hover{border-color:#778598;background:#fbfcfe}
.sem-measure-path{stroke:#7a8494;stroke-width:1.35;fill:none;marker-end:url(#semMeasureArrow)}
.sem-loading-label{font-size:9.5px;font-weight:800;fill:#4f5968;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.sem-path{stroke:#37679a;stroke-width:2.15;fill:none;marker-end:url(#semArrow)}.sem-path.result-positive{stroke:#25835e}.sem-path.result-negative{stroke:#bd485d}.sem-path-label{font-size:10.5px;font-weight:850;fill:#263244;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}
@media(max-width:560px){.sem-construct{width:132px}.sem-construct-body{width:132px;height:68px}.sem-indicator-node{width:78px}}


/* v1.2 — moderation */
.sem-moderation-path{stroke:#7b55c7;stroke-width:1.8;stroke-dasharray:6 5;fill:none;marker-end:url(#semModArrow)}
.sem-moderation-dot{fill:#fff;stroke:#7b55c7;stroke-width:1.8}
.sem-moderation-label{font-size:9.5px;font-weight:850;fill:#6947b3;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.sem-selection-editor [data-moderate-path]{width:100%}

/* v1.5 — advanced diagnostics, MGA/MICOM and moderated mediation */
.sem-construct.formative .sem-construct-body{background:linear-gradient(180deg,#fff7ef,#ffe9d8);border-color:#b66c3e}
.sem-construct.higher-order .sem-construct-body{border:3px double #9a61b8;background:linear-gradient(180deg,#fbf3ff,#f2e4fa);box-shadow:0 5px 14px rgba(94,45,116,.11)}
.sem-construct.higher-order.formative .sem-construct-body{background:linear-gradient(180deg,#fff3ed,#f5e4f8);border-color:#9555ad}
.sem-construct-kind{position:absolute;top:-8px;right:7px;background:#8a55a6;color:#fff;border-radius:999px;padding:2px 6px;font-size:7px;font-weight:900;letter-spacing:.06em}
.sem-indicator-node.formative{border-color:#c68b66;background:#fffaf6}
.sem-measure-path.formative{stroke:#a26a42}
.sem-hoc-path{stroke:#b68425;stroke-width:1.6;stroke-dasharray:5 4;fill:none;marker-end:url(#semHocArrow)}
.sem-hoc-label{font-size:9.5px;font-weight:850;fill:#8d651e;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.sem-control-node{position:absolute;width:88px;height:27px;border:1px solid #a4adb8;border-radius:5px;background:#f5f7f9;box-shadow:0 2px 5px rgba(30,40,55,.05);z-index:5;display:flex;align-items:center;gap:5px;padding:0 7px;cursor:pointer;overflow:hidden}
.sem-control-node span{font-size:7px;font-weight:900;color:#7a8491;letter-spacing:.05em}.sem-control-node strong{font-size:9.5px;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sem-control-node.selected{border-color:#6757e8;box-shadow:0 0 0 3px rgba(103,87,232,.10)}
.sem-control-path{stroke:#7b8491;stroke-width:1.4;stroke-dasharray:4 4;fill:none;marker-end:url(#semControlArrow)}
.sem-control-label{font-size:9px;font-weight:850;fill:#5e6875;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.sem-check-list{display:grid;gap:5px;max-height:180px;overflow:auto;border:1px solid var(--line);border-radius:9px;padding:7px;margin-bottom:10px;background:#fbfcfe}.sem-check-list label{display:flex;align-items:center;gap:7px;font-size:10.5px;color:#4f586a;padding:4px}.sem-check-list input{width:auto;height:auto;margin:0}
.sem-variable.control-used .var-type{color:#68727f;background:#eef1f4}.sem-variable.control-used{border-left:2px solid #9aa3ae}
@media(max-width:560px){.sem-canvas-actions{overflow-x:auto;max-width:68vw}.sem-canvas-actions .sem-btn{flex:0 0 auto}.sem-canvas-actions .sem-btn:last-child{display:none}.sem-control-node{width:82px}}
@media(max-width:560px){.sem-canvas-actions .sem-btn:nth-child(4){display:inline-flex}}
.sem-ipma-chart{border:1px solid #edf0f4;border-radius:10px;background:#fff;margin:10px 0 12px;padding:6px;overflow:auto}.sem-ipma-chart svg{display:block;width:100%;min-width:540px;height:auto;max-height:360px}

/* v2.0 — project library, reporting and interpretation */
.sem-project-manager{display:grid;gap:10px}.sem-project-manager-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}.sem-project-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:11px 12px}.sem-project-row>div:first-child{min-width:0;display:grid;gap:3px}.sem-project-row strong{font-size:12.5px;color:#263244;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sem-project-row span{font-size:10.5px;color:#7a8495}.sem-project-row>div:last-child{display:flex;gap:8px;align-items:center;flex:0 0 auto}.sem-interpret-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border:1px solid #ddd8ff;background:linear-gradient(135deg,#faf9ff,#fff);border-radius:13px;padding:14px;margin-bottom:12px}.sem-interpret-head h3{margin:0 0 4px;font-size:14px}.sem-interpret-head p{margin:0;color:#6e7588;font-size:11px;line-height:1.5}.sem-interpret-head>div:last-child{display:flex;gap:6px;flex-wrap:wrap}.sem-interpret-card p{font-size:12px;line-height:1.7;color:#485264;margin:0 0 9px}.sem-interpret-card p:last-child{margin-bottom:0}.sem-results-tabs button[data-results-tab="interpretation"]{font-weight:800}.sem-results-tabs button[data-results-tab="interpretation"]::before{content:"✦ ";color:#6757e8}.sem-project-meta [data-save-state]{font-weight:700}
@media(max-width:640px){.sem-project-row{align-items:flex-start;flex-direction:column}.sem-project-row>div:last-child{width:100%;justify-content:flex-end}.sem-interpret-head{flex-direction:column}.sem-interpret-head>div:last-child{width:100%}.sem-interpret-head .sem-btn{flex:1}}

/* v2.0.2 — dedicated Select / Move mode */
.iiisr-sem-app[data-canvas-tool="select-mode"] .sem-canvas{cursor:default}
.iiisr-sem-app[data-canvas-tool="select-mode"] .sem-construct-body{cursor:grab}
.iiisr-sem-app[data-canvas-tool="select-mode"] .sem-construct-body:active{cursor:grabbing}
.iiisr-sem-app[data-canvas-tool="connect-mode"] .sem-canvas{cursor:crosshair}
.iiisr-sem-app[data-canvas-tool="connect-mode"] .sem-construct-body{cursor:crosshair}
.sem-canvas-actions [data-action="select-mode"].is-active{background:var(--brand);border-color:var(--brand);color:#fff}


/* v2.0.3 — unified model colours matching the active menu/tool brand */
.iiisr-sem-app{
  --model-brand:var(--brand);
  --model-brand-2:var(--brand2);
  --model-fill:#f2efff;
  --model-fill-soft:#faf9ff;
  --model-border:#8b80ef;
  --model-line:#7468e8;
}
.sem-construct-body{
  border-color:var(--model-brand);
  background:linear-gradient(180deg,#faf9ff,#ece8ff);
  box-shadow:0 5px 13px rgba(102,87,232,.12);
}
.sem-construct.selected .sem-construct-body{
  border-color:#4f40d9;
  box-shadow:0 0 0 4px rgba(102,87,232,.16),0 5px 13px rgba(102,87,232,.12);
}
.sem-construct.connect-source .sem-construct-body{
  border-color:var(--model-brand-2);
  box-shadow:0 0 0 4px rgba(122,108,240,.16),0 5px 13px rgba(102,87,232,.12);
}
.sem-construct-title{color:#30285f}
.sem-construct-r2{color:#5d55a9}
.sem-construct .sem-drop-hint{color:#766db5}
.sem-indicator-node{
  border-color:#c6bff7;
  background:#fbfaff;
  color:#312b59;
  box-shadow:0 2px 5px rgba(102,87,232,.06);
}
.sem-indicator-node:hover{border-color:var(--model-brand);background:#f5f2ff}
.sem-indicator-node small{color:#5c50cf}
.sem-measure-path{stroke:#8b80ef}
.sem-loading-label{fill:#554da0}
.sem-path{stroke:var(--model-brand)}
.sem-path.result-positive{stroke:#5f53df}
.sem-path.result-negative{stroke:#b84b68}
.sem-moderation-path{stroke:#594ada}
.sem-moderation-dot{stroke:#594ada}
.sem-moderation-label{fill:#594ada}
.sem-construct.formative .sem-construct-body{
  background:linear-gradient(180deg,#f9f7ff,#eeeaff);
  border-color:var(--model-brand-2);
  border-style:dashed;
}
.sem-construct.higher-order .sem-construct-body{
  border:3px double var(--model-brand);
  background:linear-gradient(180deg,#f8f5ff,#e8e2ff);
  box-shadow:0 5px 14px rgba(102,87,232,.14);
}
.sem-construct.higher-order.formative .sem-construct-body{
  background:linear-gradient(180deg,#f8f5ff,#e9e4ff);
  border-color:#594ada;
}
.sem-construct-kind{background:var(--model-brand);color:#fff}
.sem-indicator-node.formative{
  border-color:#9d93ef;
  border-style:dashed;
  background:#f8f6ff;
}
.sem-measure-path.formative{stroke:#7468e8;stroke-dasharray:4 3}
.sem-hoc-path{stroke:#6657e8}
.sem-hoc-label{fill:#594ada}
.sem-control-node{border-color:#b8b0f2;background:#f7f5ff}
.sem-control-node span{color:#6f64c9}.sem-control-node strong{color:#3d356f}
.sem-control-path{stroke:#9389e8}
.sem-control-label{fill:#655bb8}


/* v2.0.4 — direct structural-arrow deletion */
.sem-delete-arrow-btn:not(:disabled){border-color:#e0aeb9;color:#a83f58;background:#fff8fa}
.sem-delete-arrow-btn:not(:disabled):hover{border-color:#cf8192;background:#fff0f3;color:#922f48}
.sem-path.selected,.sem-path.result-positive.selected,.sem-path.result-negative.selected{stroke:var(--danger)!important;stroke-width:3.4!important;filter:drop-shadow(0 0 2px rgba(200,61,85,.28))}
.sem-canvas:focus{outline:none}


/* v2.0.5 — click an arrow and manage/delete it from Settings, like a construct */
.sem-path-hit{stroke:rgba(0,0,0,0.001);stroke-width:18;fill:none;cursor:pointer;marker-end:none}
.sem-path-hit:hover + .sem-path{stroke-width:3!important;filter:drop-shadow(0 0 2px rgba(103,87,232,.28))}
.sem-path-selection-card{padding:10px;border:1px solid #ded9ff;background:#faf9ff;border-radius:11px}
.sem-path-selection-card .sem-path-pill{background:#fff;border-color:#d9d3ff}
.sem-path-selection-card [data-moderate-path],.sem-path-selection-card .sem-path-delete-main{width:100%}
.sem-path-selection-card .sem-path-delete-main{min-height:38px;font-weight:800}

/* v2.0.6: selectable moderation arrows */
.sem-moderation-hit{stroke:rgba(0,0,0,0.001);stroke-width:20;fill:none;cursor:pointer;marker-end:none}
.sem-moderation-hit:hover + .sem-moderation-path{stroke-width:3!important;filter:drop-shadow(0 0 2px rgba(89,74,218,.30))}
.sem-moderation-path.selected{stroke:var(--danger)!important;stroke-width:3.2!important;filter:drop-shadow(0 0 2px rgba(200,61,85,.28))}
.sem-moderation-dot.selected{stroke:var(--danger)!important;stroke-width:2.2!important}
.sem-moderation-label.selected{fill:var(--danger)!important;font-weight:850}
