:root{
  --bg:#f5f3ef;
  --surface:#ffffff;
  --surface-2:#f0eee9;
  --ink:#171916;
  --muted:#6f736c;
  --line:#dcd8d0;
  --accent:#6e2535;
  --accent-2:#a86b3d;
  --accent-soft:#f1e6e7;
  --green:#285f4a;
  --green-soft:#e8f1ec;
  --blue:#294f78;
  --blue-soft:#e8eef5;
  --yellow:#8b6a24;
  --yellow-soft:#f5eedc;
  --danger:#913e42;
  --shadow:0 16px 44px rgba(24,25,22,.08);
  --radius:18px;
  --radius-sm:11px;
  --sidebar:280px;
  --max:1500px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit}
img{max-width:100%;display:block}
.hidden{display:none!important}
.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}

/* Landing */
.portal-landing{min-height:100vh;background:radial-gradient(circle at 80% 0,#eee2e1 0,transparent 32%),linear-gradient(135deg,#f8f6f2 0%,#f1eee8 100%);padding:34px}
.portal-top{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:14px}
.brand img{width:46px;height:46px;object-fit:contain}
.brand-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:800}
.brand-title{font-weight:850;letter-spacing:-.02em}
.status-pill{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.75);font-size:12px;color:var(--muted)}
.hero{max-width:var(--max);margin:66px auto 0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:44px;align-items:end}
.hero .eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-weight:900;margin:0 0 16px}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:clamp(40px,5vw,78px);line-height:1.02;letter-spacing:-.045em;margin:0;max-width:1100px}
.hero h1 em{color:var(--accent);font-style:normal}
.hero-copy{font-size:18px;color:#4e514c;max-width:880px;margin:24px 0 0}
.hero-aside{background:rgba(255,255,255,.8);border:1px solid rgba(220,216,208,.8);border-radius:24px;padding:24px;box-shadow:var(--shadow);backdrop-filter:blur(9px)}
.hero-aside h3{margin:0 0 18px;font-size:17px;line-height:1.42;letter-spacing:-.01em}
.pipeline-mini{display:grid;gap:10px}
.pipeline-mini .pipeline-item{font-size:14px;padding:12px 14px;border-radius:12px;background:var(--surface-2);display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:12px;line-height:1.5;min-height:52px}
.pipeline-mini .pipeline-item b{color:var(--accent);font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}
.pipeline-mini .pipeline-label{display:block;min-width:0;text-align:left;overflow-wrap:anywhere}
.role-grid{max-width:var(--max);margin:46px auto 50px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.role-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:22px;text-align:left;transition:.18s ease;min-height:190px;display:flex;flex-direction:column}
.role-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#c8c1b7}
.role-card .role-no{font-size:12px;font-weight:900;color:var(--accent);letter-spacing:.13em;text-transform:uppercase}
.role-card h3{margin:16px 0 8px;font-size:20px;letter-spacing:-.02em}
.role-card p{margin:0;color:var(--muted);font-size:14px}
.role-card .enter{margin-top:auto;padding-top:18px;font-weight:800;font-size:13px;color:var(--accent)}
.landing-note{max-width:var(--max);margin:0 auto;border-top:1px solid var(--line);padding:22px 0;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;gap:20px}

/* App shell */
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr}
.sidebar{position:sticky;top:0;height:100vh;background:#191b19;color:#f5f4ef;padding:22px 18px;display:flex;flex-direction:column;overflow:auto}
.side-brand{display:flex;align-items:center;gap:12px;padding:5px 7px 20px;border-bottom:1px solid rgba(255,255,255,.09)}
.side-brand img{width:36px;height:36px;object-fit:contain;filter:saturate(.8)}
.side-brand strong{display:block;font-size:14px}
.side-brand small{display:block;font-size:11px;color:#aeb2aa;margin-top:2px}
.side-group{margin:22px 0 0}
.side-label{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#7f847d;font-weight:900;padding:0 9px 8px}
.side-nav{display:grid;gap:3px}
.side-nav button{border:0;background:transparent;color:#c7cac4;text-align:left;padding:10px 10px;border-radius:9px;font-size:13px;display:flex;align-items:center;gap:10px}
.side-nav button:hover,.side-nav button.active{background:#2a2d29;color:#fff}
.side-nav button.active{box-shadow:inset 3px 0 0 #c78a92}
.side-nav .dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55}
.side-footer{margin-top:auto;padding:18px 7px 4px;border-top:1px solid rgba(255,255,255,.09)}
.side-footer button{width:100%;border:1px solid rgba(255,255,255,.15);background:transparent;color:#e9e9e6;border-radius:9px;padding:9px 10px;font-size:12px}
.main{min-width:0}
.topbar{height:76px;position:sticky;top:0;z-index:20;background:rgba(245,243,239,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px}
.topbar-title strong{display:block;font-size:15px}
.topbar-title small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.top-actions{display:flex;align-items:center;gap:8px}
.content{max-width:1220px;margin:0 auto;padding:34px 34px 70px}
.page{display:none}
.page.active{display:block}
.page-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-bottom:26px}
.page-head .kicker{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:900;color:var(--accent);margin-bottom:8px}
.page-head h1{font-size:34px;letter-spacing:-.035em;line-height:1.1;margin:0}
.page-head p{color:var(--muted);margin:10px 0 0;max-width:800px}
.page-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 14px;font-size:13px;font-weight:750;color:var(--ink)}
.btn:hover{border-color:#bdb7ad}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.dark{background:#1e201e;border-color:#1e201e;color:#fff}
.btn.soft{background:var(--accent-soft);border-color:#ead4d7;color:var(--accent)}
.btn.small{padding:7px 10px;font-size:12px}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* Cards / metrics */
.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}
.metric{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px}
.metric .num{font-size:30px;font-weight:900;letter-spacing:-.04em}
.metric .label{font-size:12px;color:var(--muted);margin-top:2px}
.metric .sub{font-size:11px;margin-top:11px;color:var(--green);font-weight:800}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:16px}
.card.flush{padding:0;overflow:hidden}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:17px}
.card-head h2,.card-head h3{margin:0;letter-spacing:-.025em}
.card-head h2{font-size:21px}.card-head h3{font-size:17px}
.card-head p{margin:6px 0 0;color:var(--muted);font-size:13px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.notice{border-left:4px solid var(--accent);background:var(--accent-soft);padding:14px 16px;border-radius:8px;color:#5f2934;font-size:13px}
.notice.green{border-left-color:var(--green);background:var(--green-soft);color:#234a3a}
.notice.blue{border-left-color:var(--blue);background:var(--blue-soft);color:#294b6c}
.tag{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;background:var(--surface-2);font-size:11px;font-weight:800;color:#4e524c}
.tag.red{background:var(--accent-soft);color:var(--accent)}
.tag.green{background:var(--green-soft);color:var(--green)}
.tag.blue{background:var(--blue-soft);color:var(--blue)}
.tag.yellow{background:var(--yellow-soft);color:var(--yellow)}

/* Pipeline */
.pipeline{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;align-items:stretch}
.pipeline .node{position:relative;background:var(--surface-2);padding:15px 12px;border-radius:12px;min-height:105px}
.pipeline .node:not(:last-child):after{content:"→";position:absolute;right:-11px;top:40%;z-index:2;color:#aaa49b;font-weight:900}
.pipeline .node b{display:block;font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.1em}
.pipeline .node span{display:block;font-size:13px;font-weight:800;margin-top:7px;line-height:1.35}
.pipeline .node small{display:block;color:var(--muted);font-size:10px;margin-top:6px}

/* Case cards */
.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.case-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.case-cover{height:235px;background:#e9e6e0;overflow:hidden}
.case-cover img{width:100%;height:100%;object-fit:cover;object-position:top}
.case-body{padding:18px}
.case-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}
.case-body h3{margin:10px 0 4px;font-size:20px}
.case-body p{margin:0;color:var(--muted);font-size:13px}
.case-actions{display:flex;gap:8px;margin-top:16px}

/* Tables */
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:12px;min-width:760px}
th,td{padding:11px 12px;border-bottom:1px solid #e8e4dd;text-align:left;vertical-align:top}
th{background:#f6f4f0;color:#555a53;font-size:10px;text-transform:uppercase;letter-spacing:.08em;position:sticky;top:0}
tr:last-child td{border-bottom:0}
.empty{padding:34px;text-align:center;color:var(--muted);font-size:13px}

/* Forms */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-row{display:grid;gap:7px;margin-bottom:14px}
.form-row label,.field-label{font-size:12px;font-weight:800;color:#373a36}
.form-row .help{font-size:11px;color:var(--muted);margin-top:-2px}
input[type="text"],input[type="email"],input[type="number"],input[type="datetime-local"],select,textarea{width:100%;border:1px solid #d8d4cc;background:#fff;border-radius:10px;padding:10px 11px;color:var(--ink);outline:none}
input:focus,select:focus,textarea:focus{border-color:#a56b76;box-shadow:0 0 0 3px rgba(110,37,53,.08)}
textarea{min-height:100px;resize:vertical}
.check-list{display:grid;gap:10px}
.check{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff}
.check input{margin-top:3px}
.check span{font-size:13px}
.rating{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;max-width:520px}
.rating label{position:relative}
.rating input{position:absolute;opacity:0}
.rating span{display:block;border:1px solid var(--line);border-radius:9px;padding:9px 4px;text-align:center;font-weight:850;font-size:13px;background:#fff}
.rating input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}
.rating-anchors{max-width:520px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:5px}
.question{padding:18px 0;border-bottom:1px solid #ece8e1}
.question:last-child{border-bottom:0}
.question h4{margin:0 0 5px;font-size:14px}
.question .en{font-size:11px;color:var(--muted);margin-bottom:10px}

/* Participant */
.participant-shell{min-height:100vh;background:#f7f6f2}
.participant-top{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);display:flex;justify-content:space-between;align-items:center;padding:12px 24px}
.participant-brand{display:flex;gap:10px;align-items:center}
.participant-brand img{width:32px;height:32px;object-fit:contain}
.participant-brand strong{font-size:13px;display:block}
.participant-brand small{display:block;font-size:10px;color:var(--muted)}
.progress-wrap{display:flex;align-items:center;gap:10px;min-width:290px}
.progressbar{height:7px;background:#e8e5df;border-radius:999px;overflow:hidden;flex:1}
.progressbar span{height:100%;display:block;background:var(--accent);width:0;transition:.25s}
.progress-label{font-size:11px;color:var(--muted);white-space:nowrap}
.participant-main{max-width:880px;margin:0 auto;padding:46px 24px 80px}
.participant-step{display:none}
.participant-step.active{display:block}
.study-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.17em;color:var(--accent);font-weight:900}
.study-title{font-family:Georgia,"Times New Roman",serif;font-size:38px;line-height:1.1;letter-spacing:-.035em;margin:10px 0 14px}
.study-copy{font-size:15px;color:#555953;max-width:720px}
.study-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin-top:22px}
.study-actions{display:flex;justify-content:space-between;gap:10px;margin-top:22px;align-items:center}
.case-session-head{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center;margin-bottom:18px}
.case-session-head img{width:110px;height:75px;border-radius:10px;object-fit:cover;object-position:top;border:1px solid var(--line)}
.case-session-head h2{margin:0;font-size:25px}
.case-session-head p{margin:3px 0 0;color:var(--muted);font-size:12px}
.task-box{border:1px solid #ded9d0;border-radius:13px;padding:15px;margin:10px 0;background:#faf9f6}
.task-box b{display:block;font-size:12px;color:var(--accent);margin-bottom:5px}
.task-box p{margin:0;font-size:13px}
.case-live-actions{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 2px}
.session-warning{font-size:11px;color:#6a6157;margin-top:9px}

/* Analysis */
.dimension-list{display:grid;gap:10px}
.dimension-row{display:grid;grid-template-columns:190px 1fr 54px;gap:12px;align-items:center}
.dimension-row .bar{height:9px;border-radius:999px;background:#ece9e3;overflow:hidden}
.dimension-row .bar span{display:block;height:100%;background:var(--accent)}
.dimension-row b{font-size:12px}.dimension-row em{font-style:normal;text-align:right;font-weight:850;font-size:12px}
.triangulation-grid{display:grid;grid-template-columns:1.3fr repeat(4,.55fr);border:1px solid var(--line);border-radius:13px;overflow:hidden}
.triangulation-grid>div{padding:11px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;background:#fff}
.triangulation-grid>div:nth-child(5n){border-right:0}
.triangulation-grid .head{background:#f4f2ee;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.evidence-dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:900;margin:auto;background:#eee;color:#777}
.evidence-dot.yes{background:var(--green-soft);color:var(--green)}
.evidence-dot.partial{background:var(--yellow-soft);color:var(--yellow)}

/* Mapping */
.mapping-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mapping-pair figure{margin:0;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:white}
.mapping-pair img{width:100%;height:380px;object-fit:cover;object-position:top}

/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(10,12,10,.56);z-index:100;display:grid;place-items:center;padding:24px}
.modal{width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:24px;box-shadow:0 28px 80px rgba(0,0,0,.25)}
.modal h2{margin:0 0 5px}
.modal p{color:var(--muted);font-size:13px;margin:0 0 18px}

/* Toast */
.toast{position:fixed;right:22px;bottom:22px;z-index:200;background:#1e201e;color:#fff;padding:12px 15px;border-radius:10px;box-shadow:var(--shadow);font-size:12px;max-width:360px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}
.toast.show{opacity:1;transform:translateY(0)}

/* Responsive */
@media(max-width:1100px){
  .role-grid{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(3,1fr)}
  .pipeline{grid-template-columns:repeat(4,1fr)}.pipeline .node:after{display:none}.grid-4{grid-template-columns:1fr 1fr}
}
@media(max-width:880px){
  :root{--sidebar:220px}.content{padding:26px 22px 60px}.topbar{padding:0 22px}.case-grid,.grid-2,.grid-3{grid-template-columns:1fr}.mapping-pair{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .portal-landing{padding:20px}.portal-top{align-items:flex-start}.status-pill{display:none}.hero{margin-top:40px}.hero h1{font-size:42px}.role-grid{grid-template-columns:1fr}.landing-note{display:block}
  .app-shell{display:block}.sidebar{position:relative;height:auto;display:none}.topbar{height:auto;min-height:64px;padding:12px 16px}.top-actions .btn:not(.mobile-keep){display:none}.content{padding:24px 15px 55px}.page-head{display:block}.page-actions{margin-top:15px}.metric-grid{grid-template-columns:1fr 1fr}.pipeline{grid-template-columns:1fr 1fr}.grid-4{grid-template-columns:1fr}.participant-top{padding:10px 14px}.progress-wrap{min-width:150px}.participant-main{padding:32px 15px 70px}.study-title{font-size:31px}.rating{grid-template-columns:repeat(5,1fr)}.case-session-head{grid-template-columns:85px 1fr}.case-session-head img{width:85px;height:64px}.dimension-row{grid-template-columns:1fr 50px}.dimension-row .bar{grid-column:1/3}.triangulation-grid{grid-template-columns:1.5fr repeat(4,.5fr);overflow:auto}
}


/* production hardening */
.participant-tools{display:flex;align-items:center;gap:16px}.lang-toggle{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}.lang-toggle button{border:0;background:transparent;padding:7px 10px;font-weight:800;font-size:11px;cursor:pointer}.lang-toggle button.active{background:var(--ink);color:#fff}.consent-version,.stimulus-meta{font-size:11px;color:var(--muted);margin-top:10px}.stimulus-meta{padding:10px 12px;background:#f7f6f2;border:1px solid var(--line);border-radius:10px}.interview-console{display:grid;gap:12px;margin:18px 0}.interview-prompt{display:grid;grid-template-columns:56px 1fr;gap:14px;border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}.prompt-id{font-weight:900;font-size:12px;color:var(--accent)}.interview-prompt h4{margin:0 0 5px}.interview-prompt textarea{min-height:64px}.corpus-table{max-height:620px;overflow:auto}.corpus-table table{min-width:980px}.mapping-pair figcaption{font-size:11px;color:var(--muted);margin-bottom:7px}.role-card[data-enter="researcher"]{position:relative}.role-card[data-enter="researcher"]:after{content:"Protected";position:absolute;top:14px;right:14px;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:4px 7px;background:#fff}
@media(max-width:760px){.participant-tools{gap:8px}.lang-toggle button{padding:6px 8px}.interview-prompt{grid-template-columns:1fr}.corpus-table{max-height:none}}


/* Web source integration */
.source-mini{display:flex;flex-direction:column;gap:3px;padding:9px 11px;margin:12px 0;border-radius:10px;background:#f6f2e9;border:1px solid var(--line);font-size:12px}.source-mini b{font-size:12px}.source-mini span{color:var(--muted)}
.web-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.web-visual-card{margin:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper);box-shadow:0 12px 30px rgba(31,27,20,.06)}.web-visual-media{aspect-ratio:16/9;background:#eee;overflow:hidden}.web-visual-media img{width:100%;height:100%;object-fit:cover;display:block}.web-visual-card figcaption{padding:16px}.web-visual-card h3{margin:8px 0 6px}.web-visual-card p{color:var(--muted);margin:0 0 10px}.source-credit{font-size:12px;color:var(--muted)}.source-credit a,.reference-row a{color:inherit}.reference-list{display:grid;gap:8px}.reference-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);background:#fff}.reference-row:hover{border-color:#b5aa91;background:#faf8f3}.reference-row div{display:flex;flex-direction:column;gap:3px}.reference-row span{color:var(--muted);font-size:12px}.notice.amber{background:#fff8e7;border-color:#ead6a4;color:#5d4b20}
@media(max-width:800px){.web-source-grid{grid-template-columns:1fr}.reference-row{align-items:flex-start}}

/* Pilot readiness */
.role-card:disabled{cursor:not-allowed;opacity:.62;transform:none!important;box-shadow:none!important;background:#f5f3ee}
.role-card:disabled .enter{color:var(--muted)}
.case-session-head.neutral-case-head{grid-template-columns:1fr;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.case-session-head.neutral-case-head h2{font-size:22px}


/* Global bilingual UI */
.portal-status-tools{display:flex;align-items:center;gap:10px}.global-lang-toggle{flex:0 0 auto}.researcher-lang{margin-right:2px}.top-actions{flex-wrap:wrap}.participant-top .participant-tools{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:880px){.researcher-lang{order:-1}.portal-status-tools{margin-left:auto}}
@media(max-width:700px){.portal-status-tools .status-pill{display:none}.global-lang-toggle button{padding:6px 9px}.top-actions .researcher-lang{display:flex}.participant-top .global-lang-toggle{display:flex}}

/* protected data reset */
.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}
.btn.danger:hover{filter:brightness(.94);border-color:var(--danger)}
.danger-zone{border-color:#d9a8aa;background:linear-gradient(180deg,#fff 0%,#fff9f9 100%)}
.danger-zone .card-head{align-items:flex-start}


/* Vietnamese-first layout hardening */
.hero-aside,.role-card,.card,.notice,.metric,.page-head,.interview-prompt{overflow-wrap:break-word;word-break:normal}
.hero-aside p,.role-card p,.card p,.notice,.page-head p,.metric .label,.metric .sub{line-height:1.55}
.role-card h3,.card h2,.card h3,.page-head h1{line-height:1.22;text-wrap:balance}
.role-card p{margin-top:10px}
.pipeline-mini .pipeline-item>*{justify-self:start}
@media(max-width:1100px){.pipeline-mini .pipeline-item{grid-template-columns:38px minmax(0,1fr);font-size:13.5px}.hero-aside{padding:20px}}
@media(max-width:700px){.pipeline-mini .pipeline-item{grid-template-columns:34px minmax(0,1fr);gap:8px;padding:11px 12px}.pipeline-mini .pipeline-item b{font-size:14px}.hero-aside h3{font-size:16px}}

/* Landing clarity + university identity */
.brand{gap:16px}
.brand img{width:82px;height:82px}
.brand-kicker{font-size:11px}
.brand-title{font-size:15px;font-weight:900}
.brand-subtitle{font-size:12px;color:var(--muted);margin-top:2px}
.hero{margin-top:52px;grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr);gap:38px;align-items:center}
.hero-main{min-width:0}
.thesis-title{max-width:1000px!important}
.thesis-title .title-vi,.thesis-title .title-en{display:block}
.thesis-title .title-vi{font-size:clamp(42px,4.5vw,68px);line-height:1.02}
.thesis-title .title-en{font-size:clamp(24px,2.45vw,38px);line-height:1.12;margin-top:12px;color:#393b37;letter-spacing:-.035em;font-weight:650}
.thesis-title .title-en em{color:var(--accent)}
.thesis-subtitle{font-size:20px;font-weight:800;line-height:1.35;margin:22px 0 0;max-width:950px}
.hero-copy{margin-top:14px;font-size:16px;line-height:1.6;max-width:930px}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:18px;color:var(--muted);font-size:12px}
.hero-meta b{color:var(--ink)}
.hero-aside{padding:22px}
.hero-aside h3{font-size:16px;margin-bottom:15px}
.pipeline-mini{gap:8px}
.pipeline-mini .pipeline-item{padding:10px 12px;min-height:48px;font-size:13px;grid-template-columns:36px minmax(0,1fr);gap:9px}
.pipeline-mini .pipeline-item b{font-size:14px}
.role-section-head{max-width:var(--max);margin:38px auto 14px;display:flex;align-items:end;justify-content:space-between;gap:20px}
.role-section-head h2{margin:0;font-size:24px;letter-spacing:-.025em}
.role-section-head p{margin:0;color:var(--muted);font-size:13px;max-width:560px;text-align:right}
.role-grid{margin-top:0;margin-bottom:38px}
.role-card{min-height:205px;padding:20px}
.role-card h3{font-size:18px;line-height:1.25}
.role-card p{line-height:1.58}
.participant-brand img{width:54px!important;height:54px!important}
.side-brand img{width:44px;height:44px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.method-flag{border-left:4px solid var(--accent);padding-left:14px}
@media(max-width:1100px){
  .brand img{width:72px;height:72px}.hero{grid-template-columns:1fr}.hero-aside{max-width:none}.role-section-head{align-items:flex-start}.role-section-head p{text-align:left}
}
@media(max-width:780px){
  .brand img{width:62px;height:62px}.brand-title{font-size:13px}.brand-subtitle{display:none}.role-section-head{display:block}.role-section-head p{margin-top:6px}.grid-3{grid-template-columns:1fr}.thesis-title .title-vi{font-size:40px}.thesis-title .title-en{font-size:23px}.thesis-subtitle{font-size:17px}
}

/* Language-aware thesis-title presentation */
.portal-landing.lang-en .thesis-title .title-vi{display:none}
.portal-landing.lang-en .thesis-title .title-en{margin-top:0;font-size:clamp(42px,4.5vw,68px);line-height:1.02;color:var(--ink);font-weight:700}
.portal-landing.lang-en .thesis-subtitle{margin-top:18px}
.portal-landing.lang-vi .thesis-title .title-vi,.portal-landing.lang-vi .thesis-title .title-en{display:block}
@media(max-width:780px){.portal-landing.lang-en .thesis-title .title-en{font-size:40px}}


/* Landing simplification */
.brand img{width:96px;height:96px}
.thesis-title .title-vi{font-size:clamp(40px,4.3vw,64px);line-height:1.04}
.thesis-title .title-en{font-size:18px;line-height:1.35;margin-top:10px;color:var(--muted);font-weight:600}
.portal-landing.lang-vi .thesis-title .title-en{display:none}
.portal-landing.lang-en .thesis-title .title-vi{display:none}
.portal-landing.lang-en .thesis-title .title-en{display:block;margin-top:0;font-size:clamp(42px,4.5vw,64px);line-height:1.05;color:var(--ink);font-weight:700}
.role-meta{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}
.role-meta span{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#f7f3f1;border:1px solid var(--line);font-size:11px;font-weight:800;color:var(--accent)}
.role-card{min-height:245px}
.role-card h3{margin-bottom:2px}
@media(max-width:780px){.brand img{width:78px;height:78px}.role-card{min-height:auto}}

.inline-input-action{display:flex;gap:8px;align-items:center}.inline-input-action input{flex:1}


/* Built-in interview audio */
.audio-recorder-panel{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fbfaf7}.audio-recorder-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.audio-recorder-title p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5;max-width:760px}.audio-recorder-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.audio-timer{font-variant-numeric:tabular-nums;font-size:18px;min-width:60px;text-align:center}.audio-recorder-meta{font-size:11px;color:var(--muted);margin-top:10px;word-break:break-word}.audio-recorder-panel audio.hidden{display:none!important}@media(max-width:700px){.audio-recorder-title{display:block}.audio-recorder-title .tag{display:inline-flex;margin-top:8px}}


/* Stored interview audio playback */
.audio-row-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.btn.tiny{padding:5px 8px;font-size:10px;line-height:1;border-radius:8px}
.audio-playback-box{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8f6f2}

/* Synthetic demo safety banner */

/* Information Design / Visual Analytics */
.id-demo-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;margin-bottom:18px;border:1px solid #e2c49e;background:linear-gradient(90deg,#fbf1df,#fff9ef);border-radius:16px;color:#6d4a14}.id-demo-banner b{font-size:13px;letter-spacing:.08em}.id-demo-banner span{font-size:12px}
.id-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:18px 0 22px}.id-kpi{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:17px 16px;min-height:116px}.id-kpi:after{content:"";position:absolute;right:-24px;bottom:-30px;width:82px;height:82px;border-radius:50%;background:var(--accent-soft)}.id-kpi span,.id-kpi small{display:block;position:relative;z-index:1}.id-kpi span{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:800}.id-kpi strong{display:block;position:relative;z-index:1;font-size:34px;line-height:1;margin:15px 0 7px;letter-spacing:-.05em}.id-kpi small{font-size:11px;color:var(--muted)}
.id-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.id-panel{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 8px 30px rgba(24,25,22,.035);margin-bottom:16px}.id-grid-2>.id-panel{margin-bottom:0}.id-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.id-panel-head h2{margin:4px 0 4px;font-size:24px;letter-spacing:-.035em;line-height:1.1}.id-panel-head p{margin:0;color:var(--muted);font-size:13px;max-width:760px}.id-kicker{font-size:10px;letter-spacing:.15em;color:var(--accent);font-weight:900;text-transform:uppercase}
.id-profile-layout{display:grid;grid-template-columns:190px 1fr;gap:28px;align-items:center}.id-donut{width:176px;height:176px;border-radius:50%;display:grid;place-items:center;position:relative}.id-donut:after{content:"";position:absolute;inset:28px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}.id-donut>div{z-index:1;text-align:center}.id-donut strong{display:block;font-size:36px;letter-spacing:-.06em;line-height:1}.id-donut span{font-size:11px;color:var(--muted)}.id-profile-legend{display:grid;gap:10px}.id-profile-legend>div{display:grid;grid-template-columns:12px 1fr 30px 45px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #eeeae3}.id-profile-legend span{font-size:13px}.id-profile-legend b{text-align:right}.id-profile-legend em{font-style:normal;font-size:11px;color:var(--muted);text-align:right}.id-swatch{width:10px;height:10px;border-radius:3px;display:inline-block}.sw-1{background:#6e2535}.sw-2{background:#294f78}.sw-3{background:#285f4a}.sw-design{background:#a86b3d}.sw-nondesign{background:#d9d2c8}.id-mini-label{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:20px 0 8px}.id-stack{height:30px;border-radius:10px;overflow:hidden;display:flex;background:#eee}.id-stack span{display:grid;place-items:center;font-size:11px;font-weight:900;min-width:0}.id-stack-a{background:#a86b3d;color:#fff}.id-stack-b{background:#ddd6cd;color:#433f3b}.id-stack-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:9px;font-size:11px;color:var(--muted)}.id-stack-legend .id-swatch{margin-right:6px;vertical-align:-1px}
.id-evidence-flow{display:grid;grid-template-columns:1fr 26px 1fr 26px 1fr 26px 1fr;align-items:center;gap:4px;margin:20px 0 8px}.id-evidence-flow>i,.id-synthesis-strip>i{font-style:normal;text-align:center;color:#a9a299}.id-e-node{border:1px solid var(--line);border-radius:16px;padding:15px 10px;text-align:center;background:linear-gradient(180deg,#fff,#faf8f4)}.id-e-node b{display:block;font-size:26px;line-height:1}.id-e-node span{display:block;font-weight:850;font-size:13px;margin-top:5px}.id-e-node small{font-size:10px;color:var(--muted)}.id-arrow-down{text-align:center;font-size:24px;color:#aaa39b;margin:5px 0}.id-synthesis-strip{display:grid;grid-template-columns:1fr 26px 1fr 26px 1.4fr;align-items:center;gap:6px;background:#f6f1ed;border:1px solid #e8ded5;border-radius:16px;padding:12px}.id-synthesis-strip div{text-align:center}.id-synthesis-strip b{display:block;color:var(--accent);font-size:16px}.id-synthesis-strip span{font-size:10px;color:var(--muted)}.id-subgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:14px}.id-subgrid div{border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center}.id-subgrid span{display:block;font-size:9px;color:var(--muted);min-height:26px}.id-subgrid b{font-size:18px}
.id-case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.id-case-card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff}.id-case-img{height:145px;position:relative;overflow:hidden;background:#eee}.id-case-img img{width:100%;height:100%;object-fit:cover}.id-case-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.36))}.id-case-img span{position:absolute;z-index:2;left:12px;bottom:10px;background:rgba(255,255,255,.94);border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.id-case-body{padding:15px}.id-case-body h3{font-size:15px;margin:0 0 9px}.id-overall{display:flex;align-items:end;gap:6px;border-bottom:1px solid #eee9e1;padding-bottom:10px;margin-bottom:10px}.id-overall strong{font-size:31px;line-height:1;letter-spacing:-.05em}.id-overall span{font-size:10px;color:var(--muted);margin-bottom:3px}.id-score-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(70px,1fr) 30px;gap:7px;align-items:center;margin:7px 0}.id-score-row>span{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.id-score-row>b{font-size:10px;text-align:right}.id-score-track{height:6px;border-radius:99px;background:#ebe7e1;overflow:hidden}.id-score-track i{display:block;height:100%;border-radius:99px;background:var(--accent)}.id-case-card.c02 .id-score-track i{background:var(--blue)}.id-case-card.c03 .id-score-track i{background:var(--accent-2)}.id-case-card.c04 .id-score-track i{background:var(--green)}
.id-scale{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.id-scale i{width:90px;height:5px;border-radius:99px;background:linear-gradient(90deg,#ece7df,var(--accent))}.id-matrix-chart{border-top:1px solid var(--line)}.id-matrix-head,.id-matrix-row{display:grid;grid-template-columns:250px repeat(4,1fr);gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eeeae4}.id-matrix-head{font-size:10px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.id-matrix-head b{text-align:center}.id-matrix-row>span{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.id-matrix-row>div{height:29px;border-radius:8px;background:#f0ede8;overflow:hidden;position:relative}.id-matrix-row>div em{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#d7bcc2,var(--accent));border-radius:8px}.id-matrix-row>div b{position:absolute;right:7px;top:6px;font-size:10px;z-index:2}.id-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.id-dot.c01{background:#6e2535}.id-dot.c02{background:#294f78}.id-dot.c03{background:#a86b3d}.id-dot.c04{background:#285f4a}.id-abbrev{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;color:var(--muted);font-size:10px}.id-abbrev b{color:var(--ink)}
.id-pref-list{display:grid;gap:18px}.id-pref-row{display:grid;grid-template-columns:190px 1fr;gap:10px 20px;align-items:center}.id-pref-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.id-pref-title span{font-size:12px}.id-pref-title strong{font-size:18px;color:var(--accent)}.id-pref-track{display:flex;height:18px;border-radius:99px;overflow:hidden;background:#eee}.id-seg{display:block;height:100%}.seg-c01{background:#6e2535}.seg-c02{background:#294f78}.seg-c03{background:#a86b3d}.seg-c04{background:#285f4a}.id-pref-legend{grid-column:2;display:flex;gap:13px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.id-pref-legend span{display:inline-flex;align-items:center}.id-pref-legend b{color:var(--ink);margin-right:3px}
.id-radial-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;margin-top:10px}.id-radial{text-align:center}.id-radial>div{width:74px;height:74px;border-radius:50%;padding:8px;margin:0 auto 7px;display:grid;place-items:center}.id-radial>div:before{content:"";position:absolute}.id-radial>div span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fff;font-size:14px;font-weight:900;box-shadow:inset 0 0 0 1px var(--line)}.id-radial b{font-size:10px;color:var(--muted)}.id-note,.id-footer-note{font-size:11px;color:var(--muted);padding:11px 13px;border-radius:10px;background:#f6f4f0;margin-top:14px}.id-finding-flow{display:grid;gap:9px}.id-pattern-card,.id-finding-card{position:relative;border:1px solid var(--line);border-radius:13px;padding:11px 12px 11px 48px}.id-pattern-card>span,.id-finding-card>b{position:absolute;left:11px;top:11px;font-size:10px;font-weight:900;color:var(--accent)}.id-pattern-card p,.id-finding-card p{margin:0;font-size:11px;line-height:1.45}.id-finding-card{background:var(--accent-soft);border-color:#ddc5ca}.id-finding-card small{font-size:9px;color:var(--muted)}.id-footer-note{margin-top:0;border:1px solid var(--line);background:#fff}
@media(max-width:1150px){.id-kpi-grid{grid-template-columns:repeat(3,1fr)}.id-case-grid{grid-template-columns:repeat(2,1fr)}.id-radial-grid{grid-template-columns:repeat(4,1fr)}.id-subgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.id-grid-2{grid-template-columns:1fr}.id-kpi-grid{grid-template-columns:repeat(2,1fr)}.id-profile-layout{grid-template-columns:1fr}.id-donut{margin:auto}.id-evidence-flow{grid-template-columns:1fr 20px 1fr}.id-evidence-flow>div:nth-of-type(3),.id-evidence-flow>div:nth-of-type(4){margin-top:10px}.id-case-grid{grid-template-columns:1fr}.id-matrix-head,.id-matrix-row{grid-template-columns:140px repeat(4,1fr)}.id-pref-row{grid-template-columns:1fr}.id-pref-legend{grid-column:1}.id-radial-grid{grid-template-columns:repeat(3,1fr)}}


/* analysis info refinement */
.side-nav button{align-items:flex-start;line-height:1.45;padding:10px 12px;white-space:normal}
.side-nav button .dot{flex:0 0 6px;margin-top:.55em}
.analysis-id{margin-bottom:16px}
.analysis-id h3{margin:0 0 6px;font-size:20px;line-height:1.25}
.analysis-id p{margin:0;color:var(--muted)}
.analysis-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.analysis-split{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:14px}
.analysis-split h4,.analysis-mini-note h4{margin:0 0 10px;font-size:14px;letter-spacing:.01em}
.analysis-bar-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(140px,2fr) 46px;gap:10px;align-items:center;margin:8px 0}
.analysis-bar-label{font-size:13px;line-height:1.4}
.analysis-bar-track{height:10px;background:#ece7df;border-radius:999px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.analysis-bar-track span{display:block;height:100%;border-radius:999px;background:var(--accent)}
.analysis-bar-track span.tone-a{background:#7e2f40}
.analysis-bar-track span.tone-b{background:#40688b}
.analysis-bar-track span.tone-c{background:#3f6f56}
.analysis-bar-track span.tone-d{background:#8a6d2f}
.analysis-bar-row b{font-size:12px;text-align:right}
.analysis-mini-note{background:#f7f3ee;border:1px solid var(--line);border-radius:14px;padding:14px}
.analysis-mini-note ul{margin:0;padding-left:18px}
.analysis-mini-note li{margin:6px 0;line-height:1.5}
.id-pattern-card,.id-finding-card{padding:14px}
.id-pattern-card>span,.id-finding-card>b{position:static;display:block;margin:0 0 6px;font-size:11px}
.id-finding-card small{display:block;margin-top:6px;font-size:10px;line-height:1.4}
@media(max-width:1100px){.analysis-metrics{grid-template-columns:1fr 1fr}.analysis-split{grid-template-columns:1fr}.analysis-bar-row{grid-template-columns:1fr}}
@media(max-width:700px){.analysis-metrics{grid-template-columns:1fr}.side-nav button{font-size:12.5px}}


/* Calibrated analytics & richer information design */

.viz-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.viz-card{border:1px solid var(--line);border-radius:16px;padding:15px;background:linear-gradient(180deg,#fff,#faf8f5)}.viz-card h4{margin:0 0 12px;font-size:13px}
.viz-donut-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.viz-donut-item{display:flex;align-items:center;gap:12px}.viz-donut-item>div:last-child{display:grid;gap:3px}.viz-donut-item small{color:var(--muted);font-size:10px}.viz-donut{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;padding:9px;flex:0 0 auto}.viz-donut>span{width:68px;height:68px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;box-shadow:inset 0 0 0 1px var(--line)}.viz-donut b{font-size:17px}.viz-donut small{font-size:8px;margin-top:-8px}
.viz-heat-grid{display:grid;grid-template-columns:80px repeat(3,1fr);gap:6px;align-items:center}.viz-heat-grid>b,.viz-heat-grid>strong{font-size:10px;color:var(--muted)}.viz-heat-cell{height:38px;border-radius:10px;background:rgba(126,47,64,var(--heat));display:grid;place-items:center;color:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}.viz-heat-cell b{font-size:12px}
.viz-case-rank{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.viz-rank-card{border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;grid-template-columns:auto 1fr auto;gap:5px;align-items:center;background:#fff}.viz-rank-card>span{font-size:10px;font-weight:900;color:var(--accent)}.viz-rank-card>b{font-size:12px}.viz-rank-card>strong{font-size:20px}.viz-rank-card>small{grid-column:1/4;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.viz-score-grid{display:grid;grid-template-columns:190px repeat(4,1fr);gap:8px;align-items:center}.viz-score-grid>b,.viz-score-grid>strong{font-size:10px;color:var(--muted)}.viz-score-cell{position:relative;height:34px;border-radius:9px;background:#eeeae4;overflow:hidden}.viz-score-cell i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#dcc7cc,#8b4052)}.viz-score-cell b{position:relative;z-index:1;display:grid;place-items:center;height:100%;font-size:11px;color:#241f20}
.viz-pattern-lanes{display:grid;gap:8px;margin-top:16px}.viz-pattern-lane{display:grid;grid-template-columns:48px 210px 1fr;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff}.viz-pattern-id{font-weight:900;color:var(--accent);font-size:11px}.viz-source-dots{display:flex;gap:5px;flex-wrap:wrap}.viz-source-dots span{min-width:34px;padding:4px 6px;border-radius:999px;text-align:center;font-size:8.5px;font-weight:900;background:#eeeae4;color:#8b8781}.viz-source-dots span.on{background:#e0eee7;color:#285f4a}.viz-source-dots span.partial{background:#f4e8c7;color:#80620f}.viz-pattern-text{display:grid;gap:4px}.viz-pattern-text>b{font-size:11px;line-height:1.4}.viz-pattern-text>small{font-size:9px;color:var(--muted)}
.viz-convergence-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.viz-convergence-card{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:13px;background:#fff}.viz-conv-ring{width:68px;height:68px;border-radius:50%;padding:7px;display:grid;place-items:center}.viz-conv-ring span{width:54px;height:54px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;font-size:10px;font-weight:900}.viz-convergence-card>div:last-child{display:grid;gap:7px}.viz-convergence-card small{font-size:9.5px;line-height:1.4;color:var(--muted)}
.viz-finding-board{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.viz-finding-summary{border:1px solid var(--line);border-radius:16px;padding:14px;background:linear-gradient(180deg,#fff,#faf7f7)}.viz-finding-summary header{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.viz-finding-summary header span{font-weight:900;color:var(--accent)}.viz-finding-summary header b{font-size:10px;color:var(--muted)}.viz-finding-summary header em{font-style:normal;font-weight:900;font-size:16px}.viz-finding-summary p{font-size:11px;line-height:1.5;min-height:50px}.viz-trace-chain{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin:10px 0}.viz-trace-chain span{padding:5px 7px;border-radius:8px;background:#f0ece6;font-size:8.5px;font-weight:800}.viz-trace-chain i{font-style:normal;color:var(--muted)}.viz-finding-summary>small{font-size:9px;color:var(--muted)}
@media(max-width:1100px){.viz-grid-2,.viz-convergence-grid,.viz-finding-board{grid-template-columns:1fr}.viz-case-rank{grid-template-columns:1fr 1fr}.viz-pattern-lane{grid-template-columns:44px 1fr}.viz-pattern-text{grid-column:1/3}.viz-score-grid{grid-template-columns:130px repeat(4,1fr)}}
@media(max-width:700px){.viz-case-rank,.viz-donut-row{grid-template-columns:1fr}.viz-score-grid{overflow:auto;grid-template-columns:120px repeat(4,90px)}.viz-heat-grid{grid-template-columns:60px repeat(3,1fr)}}


/* Evidence-to-Design */
.design-sequence{display:flex;align-items:stretch;gap:8px;overflow:auto;padding:16px}
.design-sequence>i{align-self:center;font-style:normal;color:#aaa;font-weight:900}
.design-step{min-width:132px;flex:1;border:1px solid var(--line);border-radius:14px;padding:13px;background:#faf9f6;display:grid;gap:4px;opacity:.58}
.design-step.done{opacity:1;background:#f5f8f5;border-color:#cddbd1}
.design-step b{font-size:11px;color:var(--accent);letter-spacing:.08em}.design-step span{font-weight:850;font-size:13px}.design-step small{color:var(--muted);line-height:1.35}
.design-stage-badge{font-size:10px;font-weight:900;letter-spacing:.08em;padding:6px 9px;border-radius:999px}.design-stage-badge.open{background:#e7f2ea;color:#24543a}.design-stage-badge.locked{background:#f3e9d8;color:#74551d}
.design-check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.design-check{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px}.design-check>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-weight:900}.design-check.ok>span{background:#dfeee3;color:#24543a}.design-check.no>span{background:#f4e8d8;color:#835c21}.design-check b{display:block;font-size:12px;line-height:1.35}.design-check small{color:var(--muted)}
.design-output-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.design-output{min-height:320px}.design-out-no{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:8px;background:var(--accent);color:white;font-weight:900;font-size:12px;margin-bottom:8px}.design-record-list{display:grid;gap:10px}.design-record-list article{border:1px solid var(--line);border-radius:12px;padding:12px;background:#faf9f7}.design-record-list header{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px}.design-record-list header b{color:var(--accent)}.design-record-list header span{font-size:10px;color:var(--muted)}.design-record-list h4{margin:0 0 6px;font-size:13px}.design-record-list p{margin:0 0 8px;line-height:1.5;font-size:12px}.design-record-list small{color:var(--muted);line-height:1.4}
.prototype-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.prototype-component{border:1px solid var(--line);border-radius:14px;padding:14px;background:#faf9f7}.prototype-component header{display:flex;justify-content:space-between;align-items:center}.prototype-component h3{font-size:15px;margin:10px 0 6px}.prototype-component p{font-size:12px;line-height:1.55}.prototype-trace{display:grid;gap:5px;border-top:1px dashed var(--line);padding-top:9px;font-size:10px;color:var(--muted)}
@media(max-width:1200px){.design-check-grid,.design-output-grid,.prototype-board{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.design-check-grid,.design-output-grid,.prototype-board{grid-template-columns:1fr}.design-sequence{display:grid;grid-template-columns:1fr}.design-sequence>i{display:none}}


/* Research-to-Design Pro */
.r2d-section{margin-top:18px;padding:20px}.r2d-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.r2d-section-head>div>span{display:block;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.16em;margin-bottom:6px}.r2d-section-head h2{margin:0 0 7px;font-size:22px;letter-spacing:-.025em}.r2d-section-head p{margin:0;max-width:980px;color:var(--muted);line-height:1.6}.r2d-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:14px 0 18px}.r2d-kpis>div{background:#f8f5f1;border:1px solid var(--line);border-radius:15px;padding:14px;min-height:100px}.r2d-kpis b{font-size:28px;line-height:1;display:block}.r2d-kpis span{font-size:12px;font-weight:800;display:block;margin-top:8px}.r2d-kpis small{font-size:10px;color:var(--muted)}.r2d-grid-2{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.r2d-panel{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.r2d-panel h3{margin:0 0 12px;font-size:15px}.r2d-opportunity-list{display:grid;gap:10px}.r2d-opportunity-list article{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fcfbf9}.r2d-opportunity-list header{display:flex;gap:8px;align-items:center}.r2d-opportunity-list header b{color:var(--accent)}.r2d-opportunity-list header span{font-size:10px;background:#eee9e3;border-radius:99px;padding:4px 8px}.r2d-opportunity-list header em{margin-left:auto;font-size:10px;color:var(--muted);font-style:normal}.r2d-opportunity-list p{margin:8px 0;font-size:12px;line-height:1.55}.r2d-opportunity-list strong{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#575c56}.r2d-op-meta{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0}.r2d-op-meta span,.r2d-chip{font-size:10px;padding:4px 7px;border-radius:99px;background:#eaf0f6;color:#31546f;font-weight:800}.r2d-mini-title{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:14px 0 7px}.r2d-signal-bar{display:grid;grid-template-columns:minmax(110px,1.15fr) 1.8fr 44px;gap:8px;align-items:center;margin:8px 0}.r2d-signal-bar>span{font-size:11px;line-height:1.3}.r2d-signal-bar>div{height:9px;border-radius:99px;background:#ece7df;overflow:hidden}.r2d-signal-bar i{height:100%;display:block;background:#7e2f40;border-radius:99px}.r2d-signal-bar i.alt{background:#3f6f56}.r2d-signal-bar>b{font-size:10px;text-align:right}.r2d-theme-cloud{display:flex;flex-wrap:wrap;gap:7px}.r2d-theme-cloud span{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:99px;padding:7px 10px;background:#fff}.r2d-theme-cloud b{font-size:10px}.r2d-theme-cloud em{font-size:9px;font-style:normal;background:#1c201d;color:#fff;border-radius:99px;padding:2px 6px}.r2d-framework-flow{display:grid;grid-template-columns:1fr 28px 1.15fr 28px 1fr;gap:8px;align-items:stretch;margin-top:10px}.r2d-framework-flow>article{border:1px solid var(--line);border-radius:16px;padding:16px;background:#f7f4ef}.r2d-framework-flow>article.focus{background:#f2e5e8;border-color:#dcc2c8}.r2d-framework-flow>i{display:grid;place-items:center;font-style:normal;font-size:22px;color:#8a8f87}.r2d-framework-flow article span{font-size:9px;font-weight:900;letter-spacing:.12em;color:var(--muted)}.r2d-framework-flow h3{margin:7px 0;font-size:16px}.r2d-framework-flow p{margin:0;font-size:11px;line-height:1.55}.r2d-tcc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.r2d-tcc-grid article{border-top:4px solid #7e2f40;border-radius:13px;background:#fff;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px}.r2d-tcc-grid article:nth-child(2){border-top-color:#40688b}.r2d-tcc-grid article:nth-child(3){border-top-color:#3f6f56}.r2d-tcc-grid b{font-size:12px}.r2d-tcc-grid p{font-size:11px;margin:7px 0}.r2d-tcc-grid small{font-size:9px;color:var(--muted)}.r2d-eval-strip{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:8px;margin-top:12px;align-items:center}.r2d-eval-strip>*{padding:10px;border-radius:10px;background:#f6f3ee;font-size:10px}.r2d-eval-strip>span{font-weight:900;background:#1c201d;color:#fff}.r2d-gate{border-left:5px solid #8a6d2f}.r2d-gate-no{display:inline-block;font-size:9px;font-weight:900;letter-spacing:.14em;color:#8a6d2f;margin-bottom:6px}.design-output-grid.pro{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.design-output-grid.pro .design-output{padding:16px}.design-record-list article{display:grid;gap:6px}.r2d-meta-line{display:flex;gap:6px;flex-wrap:wrap}.r2d-meta-line span{font-size:9px;padding:4px 7px;background:#f1eee9;border-radius:99px}.r2d-avoid{border-left:3px solid #a65b45;padding-left:9px!important;color:#704033}.r2d-trace-table small{display:block;max-width:380px;line-height:1.35;color:var(--muted)}.r2d-brief-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.r2d-brief-grid article{border:1px solid var(--line);border-radius:15px;padding:14px;background:#faf8f5}.r2d-brief-grid article.wide{grid-column:1/-1}.r2d-brief-grid span{font-size:9px;font-weight:900;color:var(--accent);letter-spacing:.12em}.r2d-brief-grid h3{font-size:14px;margin:7px 0}.r2d-brief-grid p{font-size:11px;line-height:1.55;margin:0}.prototype-board.pro{grid-template-columns:repeat(2,minmax(0,1fr))}.r2d-hypothesis{background:#f6f2ec;border-radius:10px;padding:10px;margin:9px 0}.r2d-hypothesis b{font-size:9px;text-transform:uppercase;letter-spacing:.08em}.r2d-hypothesis p{font-size:11px;margin:5px 0 0}.r2d-evaluation-matrix{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}.r2d-evaluation-matrix>div{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff}.r2d-evaluation-matrix b{display:block;font-size:11px;margin-bottom:6px}.r2d-evaluation-matrix small{font-size:9.5px;line-height:1.45;color:var(--muted)}.r2d-test-plan{display:grid;grid-template-columns:1fr 180px;gap:14px;align-items:center;border:1px solid #d7e0e8;background:#eff4f7;border-radius:15px;padding:15px;margin:12px 0}.r2d-test-plan span{font-size:9px;font-weight:900;letter-spacing:.12em;color:#40688b}.r2d-test-plan h3{font-size:15px;margin:5px 0}.r2d-test-plan p{font-size:11px;line-height:1.5;margin:0}.r2d-test-metrics{text-align:center;border-left:1px solid #cbd5dc}.r2d-test-metrics b{display:block;font-size:30px}.r2d-test-metrics small,.r2d-test-metrics span{display:block}.r2d-footer{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:16px;padding:14px}.r2d-footer b{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.r2d-footer span{font-size:11px;color:var(--muted);line-height:1.45}.r2d-footer em{font-size:10px;font-style:normal;font-weight:800}.modal-lead{font-size:12px;color:var(--muted);line-height:1.55;margin:-4px 0 14px}.r2d-sequence .design-step small{line-height:1.35}
@media(max-width:1250px){.r2d-kpis{grid-template-columns:repeat(3,1fr)}.r2d-grid-2{grid-template-columns:1fr}.design-output-grid.pro{grid-template-columns:1fr}.r2d-brief-grid{grid-template-columns:1fr 1fr}.r2d-evaluation-matrix{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.r2d-framework-flow{grid-template-columns:1fr}.r2d-framework-flow>i{transform:rotate(90deg)}.r2d-tcc-grid{grid-template-columns:1fr}.r2d-eval-strip{grid-template-columns:1fr 1fr}.prototype-board.pro{grid-template-columns:1fr}.r2d-test-plan{grid-template-columns:1fr}.r2d-test-metrics{border-left:0;border-top:1px solid #cbd5dc;padding-top:10px}.r2d-footer{grid-template-columns:1fr}.r2d-brief-grid{grid-template-columns:1fr}}
@media(max-width:600px){.r2d-kpis{grid-template-columns:1fr 1fr}.r2d-evaluation-matrix{grid-template-columns:1fr}.r2d-eval-strip{grid-template-columns:1fr}.r2d-signal-bar{grid-template-columns:1fr}.r2d-signal-bar>b{text-align:left}}


/* completed research-to-design synthesis */
.r2d-quality-score{min-width:96px;text-align:center;border:1px solid var(--line);background:#f8f5f1;border-radius:18px;padding:12px 14px;font-size:27px;font-weight:900;line-height:1}.r2d-quality-score small{display:block;margin-top:6px;font-size:9px;font-weight:700;color:var(--muted);line-height:1.3}.r2d-quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.r2d-quality-grid article{border:1px solid var(--line);border-radius:14px;padding:14px;background:#faf8f5}.r2d-quality-grid article.ok{border-top:4px solid #3f6f56}.r2d-quality-grid article.warn{border-top:4px solid #a77930}.r2d-quality-grid b{font-size:24px;display:block}.r2d-quality-grid span{display:block;font-size:11px;font-weight:800;margin:5px 0}.r2d-quality-grid small{font-size:9px;color:var(--muted)}
.r2d-layer-coverage{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.r2d-layer-coverage h3{font-size:13px;margin:0 0 9px}.r2d-layer-coverage>div{display:grid;grid-template-columns:minmax(130px,1fr) 2fr 35px;gap:9px;align-items:center;margin:7px 0}.r2d-layer-coverage span{font-size:10px}.r2d-layer-coverage>div>div{height:9px;background:#eee9e2;border-radius:99px;overflow:hidden}.r2d-layer-coverage i{display:block;height:100%;background:#7e2f40;border-radius:99px}.r2d-layer-coverage b{font-size:10px;text-align:right}
.r2d-cf-map{display:grid;gap:14px}.r2d-cf-map .main-flow{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr 28px 1fr;gap:8px;align-items:stretch}.r2d-cf-map .main-flow>i{display:grid;place-items:center;font-size:22px;color:#8d918a;font-style:normal}.r2d-cf-node{border:1px solid var(--line);background:#faf8f5;border-radius:15px;padding:14px;min-width:0}.r2d-cf-node b{display:block;font-size:10px;color:var(--accent)}.r2d-cf-node span{display:block;font-size:13px;font-weight:900;line-height:1.35;margin:6px 0}.r2d-cf-node small{display:block;font-size:9px;color:var(--muted);line-height:1.4}.r2d-cf-node.process{background:#f3e7e9;border-color:#ddc2c8}.r2d-cf-node.layers{background:#edf3f7;border-color:#cfdae4}.r2d-cf-node.outcome{background:#edf4ef;border-color:#ccded1}.r2d-cf-map .context-band{border:1px dashed #ccbfae;background:#f7f2e9;border-radius:15px;padding:12px;display:grid;grid-template-columns:auto repeat(2,1fr);gap:10px;align-items:stretch}.r2d-cf-map .context-band>span{font-size:9px;font-weight:900;letter-spacing:.1em;color:#8a6d2f;align-self:center;padding:0 8px}.r2d-cf-node.context{background:#fff}
.r2d-decision-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.r2d-decision-grid article{border:1px solid var(--line);border-radius:15px;padding:14px;background:#fbfaf8}.r2d-decision-grid header{display:flex;justify-content:space-between;gap:8px}.r2d-decision-grid header b{font-size:10px;color:var(--accent)}.r2d-decision-grid header span{font-size:9px;background:#e8f1ea;color:#355a40;border-radius:99px;padding:4px 7px}.r2d-decision-grid h3{font-size:14px;margin:9px 0 6px}.r2d-decision-grid p{font-size:11px;line-height:1.55;margin:0 0 10px}.r2d-decision-grid article>div{display:grid;gap:3px;margin:8px 0}.r2d-decision-grid strong{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.r2d-decision-grid small{font-size:10px;line-height:1.45}.r2d-decision-grid footer{font-size:9px;color:#456480;background:#edf3f7;border-radius:8px;padding:7px;margin-top:10px}
.r2d-architecture{display:grid;grid-template-columns:1.25fr 28px 1.5fr 28px .8fr;gap:9px;align-items:stretch}.r2d-architecture>i{display:grid;place-items:center;font-style:normal;font-size:22px;color:#8d918a}.r2d-arch-lane{border:1px solid var(--line);border-radius:16px;background:#f8f6f2;padding:12px;display:grid;gap:8px;align-content:start}.r2d-arch-lane>b{font-size:9px;letter-spacing:.12em;color:var(--muted)}.r2d-arch-lane article{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px}.r2d-arch-lane article span{font-size:9px;font-weight:900;color:var(--accent)}.r2d-arch-lane h4{font-size:11px;line-height:1.35;margin:5px 0}.r2d-arch-lane small{font-size:9px;color:var(--muted)}
.r2d-validation-readiness{border-left:5px solid #40688b}.r2d-trace-table th,.r2d-trace-table td{vertical-align:top}.design-record-list article{position:relative}.design-record-list article h4{font-size:13px;line-height:1.35}.design-record-list article p{font-size:10.5px;line-height:1.5}.prototype-component h3{line-height:1.35}.prototype-component>p{font-size:11px;line-height:1.55}
@media(max-width:1250px){.r2d-quality-grid{grid-template-columns:1fr 1fr}.r2d-cf-map .main-flow{grid-template-columns:1fr}.r2d-cf-map .main-flow>i{transform:rotate(90deg)}.r2d-cf-map .context-band{grid-template-columns:1fr 1fr}.r2d-cf-map .context-band>span{grid-column:1/-1}.r2d-architecture{grid-template-columns:1fr}.r2d-architecture>i{transform:rotate(90deg)}}
@media(max-width:760px){.r2d-quality-grid,.r2d-decision-grid{grid-template-columns:1fr}.r2d-cf-map .context-band{grid-template-columns:1fr}.r2d-layer-coverage>div{grid-template-columns:1fr}.r2d-layer-coverage b{text-align:left}}


/* Hue Semiotic Resource Atlas */
.semiotic-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0}.semiotic-kpis>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.semiotic-kpis b{display:block;font-size:24px;letter-spacing:-.03em}.semiotic-kpis span{font-size:11px;color:var(--muted);line-height:1.35}.semiotic-method{margin-bottom:16px}.semiotic-chain{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:center}.semiotic-chain>div{border:1px solid var(--line);background:#f8f6f2;border-radius:14px;padding:13px;min-height:102px}.semiotic-chain>div b{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--accent);color:#fff;font-size:11px;margin-bottom:8px}.semiotic-chain span{display:block;font-weight:800;font-size:12px}.semiotic-chain small{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin-top:5px}.semiotic-chain>i{font-style:normal;color:var(--muted);font-weight:900}.semiotic-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.semiotic-resource-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 30px rgba(30,28,24,.035)}.semiotic-resource-card.core{border-top:4px solid #7f2b3c}.semiotic-resource-card.strong{border-top:4px solid #35675a}.semiotic-resource-card.contextual{border-top:4px solid #4d6482}.semiotic-resource-card.caution{border-top:4px solid #9a782b}.semiotic-resource-card header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.semiotic-id{font-size:10px;font-weight:900;background:#1f211f;color:#fff;border-radius:7px;padding:5px 7px}.semiotic-priority{font-size:9px;font-weight:900;color:var(--accent);margin-left:7px;letter-spacing:.04em}.semiotic-readiness{font-size:9px;font-weight:800;border-radius:999px;padding:5px 8px;background:#eee;color:#555}.semiotic-readiness.ready{background:#e5f0e9;color:#2e6248}.semiotic-readiness.partial{background:#e7eef6;color:#355c7a}.semiotic-readiness.caution{background:#f3e9cf;color:#7a5d17}.semiotic-resource-card h2{font-size:20px;line-height:1.2;margin:14px 0 3px}.semiotic-family{margin:0 0 12px;color:var(--muted);font-size:11px}.semiotic-specificity{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:10px;background:#f7f4ef;margin-bottom:12px}.semiotic-specificity span{font-size:10px;font-weight:800}.semiotic-specificity b{font-size:11px;color:var(--accent);letter-spacing:2px}.semiotic-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.semiotic-two>div,.semiotic-translation,.semiotic-avoid{padding:11px;border:1px solid var(--line);border-radius:12px}.semiotic-two strong,.semiotic-translation strong,.semiotic-avoid strong{font-size:10px;text-transform:uppercase;letter-spacing:.06em}.semiotic-two p,.semiotic-translation p,.semiotic-avoid p{font-size:11px;line-height:1.5;margin:5px 0 0}.semiotic-translation{margin-top:10px;background:#f5f8f6}.semiotic-avoid{margin-top:8px;background:#fbf5f3}.semiotic-role-row{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.semiotic-role-row>b{font-size:10px;margin-right:3px}.semiotic-role-row span{font-size:9px;border-radius:999px;border:1px solid var(--line);padding:5px 7px;background:#fff}.semiotic-evidence{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:12px;padding:9px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}.semiotic-evidence span{display:flex;align-items:center;gap:4px;font-size:9px;color:var(--muted)}.semiotic-evidence span b{font-size:12px;color:var(--ink)}.semiotic-evidence em{margin-left:auto;font-size:9px;color:var(--muted);font-style:normal}.semiotic-resource-card footer{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:10px}.semiotic-resource-card footer>div{font-size:8.5px;line-height:1.5;color:var(--muted);max-width:70%}.semiotic-resource-card footer a{color:inherit;text-decoration:underline;text-decoration-color:#c8c1b6}.semiotic-matrix th:not(:first-child),.semiotic-matrix td:not(:first-child){text-align:center}.semiotic-matrix-cell{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;font-weight:900}.semiotic-matrix-cell.strong{background:#e6efe9;color:#2f674b}.semiotic-matrix-cell.medium{background:#e7eef5;color:#365f7c}.semiotic-matrix-cell.weak{color:#aaa}.semiotic-gate{margin-top:16px}.semiotic-design-bridge{border-top:4px solid #7f2b3c}.semiotic-bridge-cols{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:12px}.semiotic-bridge-cols>div{border:1px solid var(--line);border-radius:14px;padding:12px;background:#faf8f5}.semiotic-bridge-cols h3{font-size:12px;margin:0 0 9px}.semiotic-bridge-cols article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px;margin:7px 0}.semiotic-bridge-cols article b{display:block;font-size:10px;line-height:1.4}.semiotic-bridge-cols article span{display:block;font-size:9px;color:var(--muted);margin-top:3px}.semiotic-bridge-cols article small .semiotic-role-row{margin-top:5px}.semiotic-bridge-cols .semiotic-role-row>b{display:none}
@media(max-width:1180px){.semiotic-kpis{grid-template-columns:repeat(3,1fr)}.semiotic-resource-grid{grid-template-columns:1fr}.semiotic-chain{grid-template-columns:1fr}.semiotic-chain>i{transform:rotate(90deg);text-align:center}.semiotic-bridge-cols{grid-template-columns:1fr}}
@media(max-width:700px){.semiotic-kpis{grid-template-columns:1fr 1fr}.semiotic-two{grid-template-columns:1fr}.semiotic-resource-card footer{align-items:flex-start;flex-direction:column}.semiotic-resource-card footer>div{max-width:100%}}
.semiotic-four-layers{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.semiotic-four-layers article{position:relative;background:#f8f6f2;border:1px solid var(--line);border-radius:14px;padding:14px;min-height:180px}.semiotic-four-layers article>b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#21231f;color:#fff;font-size:11px;margin-bottom:12px}.semiotic-four-layers h3{font-size:14px;margin:0 0 7px;line-height:1.3}.semiotic-four-layers p{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 10px}.semiotic-four-layers small{font-size:9px;font-weight:900;color:var(--accent);letter-spacing:.04em}.semiotic-design-navigator{margin-top:16px}.semiotic-nav-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.semiotic-nav-grid article{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}.semiotic-nav-grid article>span{font-size:8.5px;font-weight:900;letter-spacing:.08em;color:var(--accent)}.semiotic-nav-grid h3{font-size:13px;line-height:1.3;margin:6px 0}.semiotic-nav-grid p{font-size:10.5px;line-height:1.5;margin:0}.semiotic-nav-grid article.caution{background:#fbf4e5;border-color:#e9d8ae}.semiotic-nav-grid article.caution>span{color:#8a681f}
@media(max-width:1180px){.semiotic-four-layers{grid-template-columns:1fr 1fr}.semiotic-nav-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.semiotic-four-layers,.semiotic-nav-grid{grid-template-columns:1fr}}


/* case-specific semiotic analysis */
.csm-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.csm-kpis>div{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px 15px}.csm-kpis b{font-size:20px}.csm-kpis span{display:block;font-size:12px;font-weight:800;margin:2px 0 9px}.csm-kpis em{display:block;height:6px;background:var(--accent);border-radius:99px}.csm-kpis small{display:block;color:var(--muted);margin-top:7px}
.csm-matrix-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.csm-matrix{min-width:820px;margin:0}.csm-matrix th:not(:first-child),.csm-matrix td:not(:first-child){text-align:center;min-width:120px}.csm-matrix th small,.csm-matrix td small{display:block;color:var(--muted);font-weight:500;margin-top:3px}.csm-level{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;font-style:normal;font-weight:900;border:1px solid var(--line);background:#f3f0eb;color:#777}.csm-level.lv-1{background:#f7eee1;color:#8c5c15;border-color:#ead5ae}.csm-level.lv-2{background:#e7eff6;color:#315d7b;border-color:#c8dbe9}.csm-level.lv-3{background:#e4efe8;color:#265f43;border-color:#bdd9c8}.csm-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.csm-legend span{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}
.csm-case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:16px 0}.csm-case-summary{background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px;box-shadow:var(--shadow)}.csm-case-summary header{display:flex;gap:11px;align-items:center}.csm-case-summary header>span{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--accent);color:#fff;font-weight:900}.csm-case-summary h3{margin:0;font-size:18px}.csm-case-summary header p{margin:2px 0 0;color:var(--muted);font-size:11px}.csm-case-summary>p{line-height:1.55}.csm-summary-block{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.csm-summary-block b,.csm-summary-block span{display:block}.csm-summary-block b{font-size:11px;text-transform:uppercase;letter-spacing:.07em}.csm-summary-block span{font-size:12px;line-height:1.5;margin-top:4px}.csm-summary-block.muted{color:var(--muted)}.csm-chip-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.csm-chip-row span{font-size:10px;border-radius:999px;padding:5px 8px;background:#f5f2ed;border:1px solid var(--line)}.csm-chip-row .lv-3{background:#e4efe8}.csm-chip-row .lv-2{background:#e7eff6}
.csm-case-detail{margin-top:18px}.csm-shot-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px;margin-bottom:16px}.csm-shot{border:1px solid var(--line);background:#fff;padding:0;border-radius:12px;overflow:hidden;text-align:left;cursor:pointer}.csm-shot img{width:100%;height:112px;object-fit:cover;display:block}.csm-shot span{display:block;padding:7px 9px;font-size:9px;color:var(--muted)}.csm-observation-list{display:grid;gap:12px}.csm-observation{border:1px solid var(--line);border-radius:15px;padding:15px;background:#fff}.csm-obs-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.csm-obs-head>div{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.csm-obs-id{font-size:10px;font-weight:900;color:var(--accent)}.csm-resource{font-size:13px;font-weight:900}.csm-location{margin:10px 0;padding:8px 10px;background:#f5f2ed;border-radius:9px;font-size:12px}.csm-obs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.csm-obs-grid>div{background:#faf9f6;border:1px solid #eee9e1;border-radius:11px;padding:11px}.csm-obs-grid>div.design{background:#eef4f0;border-color:#d5e4da}.csm-obs-grid b{font-size:10px;text-transform:uppercase;letter-spacing:.05em}.csm-obs-grid p{font-size:12px;line-height:1.52;margin:5px 0 0}.csm-evidence{display:flex;gap:7px;flex-wrap:wrap;align-items:center;border-top:1px dashed var(--line);margin-top:11px;padding-top:10px}.csm-evidence span,.csm-evidence code,.csm-evidence a{font-size:9.5px}.csm-evidence span{background:#f3f0eb;padding:5px 7px;border-radius:999px}.csm-evidence code{color:var(--muted);overflow-wrap:anywhere}.csm-evidence a{margin-left:auto}.csm-image-modal img{max-width:min(1180px,88vw);max-height:78vh;object-fit:contain;display:block;margin:auto;border-radius:12px}
@media(max-width:1100px){.csm-kpis{grid-template-columns:repeat(2,1fr)}.csm-case-grid{grid-template-columns:1fr}.csm-obs-grid{grid-template-columns:1fr}}
@media(max-width:700px){.csm-kpis{grid-template-columns:1fr}.csm-obs-head{display:block}.csm-evidence a{margin-left:0}.csm-shot-strip{grid-template-columns:1fr 1fr}}


/* Semiotic Case Intelligence */
.csi-hero-card{display:grid;grid-template-columns:1.35fr .65fr;gap:24px;background:linear-gradient(135deg,#fff 0%,#faf5f2 100%);border:1px solid var(--line);border-radius:22px;padding:24px;margin-bottom:15px;box-shadow:var(--shadow)}
.csi-hero-card h2{font-size:27px;line-height:1.16;margin:7px 0 8px;letter-spacing:-.025em}.csi-hero-card p{color:var(--muted);line-height:1.58;margin:0;max-width:850px}.csi-flow-mini{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-content:center}.csi-flow-mini span{padding:9px 10px;border-radius:10px;background:#fff;border:1px solid var(--line);font-size:9px;font-weight:900;letter-spacing:.05em;text-align:center}.csi-flow-mini i{align-self:center;color:var(--muted);font-style:normal}.csi-flow-mini span:nth-of-type(3),.csi-flow-mini span:nth-of-type(4){background:var(--accent-soft)}
.csi-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 14px}.csi-kpis>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px 15px}.csi-kpis strong{display:block;font-size:24px;line-height:1;color:var(--accent)}.csi-kpis span{display:block;font-size:11px;color:var(--muted);margin-top:6px;line-height:1.35}
.csi-case-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 14px}.csi-case-tabs button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;text-align:left;display:flex;gap:8px;align-items:center;cursor:pointer}.csi-case-tabs button:hover{border-color:#c78a92;background:#fff8f8}.csi-case-tabs span{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#222;color:#fff;font-size:10px;font-weight:900}.csi-case-tabs b{font-size:11px;line-height:1.2}
.csi-section{margin-top:18px}.csi-section-head{margin:5px 0 12px}.csi-section-head h2{font-size:23px;margin:5px 0 5px}.csi-section-head p{color:var(--muted);margin:0;line-height:1.55}
.csi-matrix-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.csi-matrix{min-width:980px;margin:0}.csi-matrix th{background:#f6f3ee}.csi-matrix th:not(:first-child){text-align:center}.csi-matrix th span{display:block;font-size:9px;color:var(--accent);font-weight:900}.csi-matrix th b{font-size:10px}.csi-resource-name{display:flex;align-items:center;gap:10px;min-width:250px}.csi-resource-name>i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#252824;color:#fff;font-style:normal;font-size:18px}.csi-resource-name b,.csi-resource-name small{display:block}.csi-resource-name small{color:var(--muted);font-size:9px;margin-top:2px}.csi-cell{width:72px;min-height:54px;border-radius:10px;margin:auto;padding:7px 5px;display:grid;place-items:center;border:1px solid var(--line)}.csi-cell strong{font-size:16px}.csi-cell small{font-size:7.5px;line-height:1.15;text-align:center}.csi-cell.lv-0{background:#f6f4f1;color:#999}.csi-cell.lv-1{background:#faf0df;color:#835f21}.csi-cell.lv-2{background:#eaf1f7;color:#315d7b}.csi-cell.lv-3{background:#e4efe8;color:#265f43}.csi-tier{display:inline-block;font-size:8.5px;font-weight:900;border-radius:999px;padding:5px 7px}.csi-tier.transfer{background:#e3efe7;color:#285f44}.csi-tier.specific{background:#e8eff6;color:#325b79}.csi-tier.emerging{background:#f7eddc;color:#815d22}.csi-tier.validate{background:#f2e3e6;color:#7e2f40}.csi-mini{display:block;color:var(--muted);font-size:8.5px;margin-top:5px}
.csi-family-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.csi-family{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px}.csi-family header{display:flex;gap:10px;align-items:center;margin-bottom:12px}.csi-family header>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#252824;color:#fff;font-size:20px}.csi-family header div{flex:1}.csi-family h3{font-size:14px;margin:0}.csi-family small{color:var(--muted);font-size:9px}.csi-family header>b{font-size:18px;color:var(--accent)}.csi-family-bars>div{display:grid;grid-template-columns:1.3fr 1fr 38px;gap:8px;align-items:center;margin:7px 0}.csi-family-bars label{font-size:9.5px}.csi-family-bars span{height:6px;background:#eeeae4;border-radius:99px;overflow:hidden}.csi-family-bars i{display:block;height:100%;background:var(--accent);border-radius:99px}.csi-family-bars em{font-style:normal;font-size:9px;text-align:right}
.csi-case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.csi-case-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.csi-case-hero{height:168px;position:relative;overflow:hidden;background:#eee}.csi-case-hero img{width:100%;height:100%;object-fit:cover}.csi-case-hero span{position:absolute;left:12px;top:12px;background:#1d201d;color:#fff;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:900}.csi-case-body{padding:15px}.csi-case-title{display:flex;justify-content:space-between;gap:10px}.csi-case-title h3{margin:0;font-size:17px}.csi-case-title p{margin:2px 0 0;color:var(--muted);font-size:10px}.csi-case-title>b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:11px}.csi-profile{font-size:11px;line-height:1.5;color:#444}.csi-case-insight{background:#f6f3ee;border-radius:10px;padding:9px 10px;margin:10px 0}.csi-case-insight span,.csi-case-insight strong{display:block}.csi-case-insight span{font-size:8.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.csi-case-insight strong{font-size:11px;margin-top:3px}.csi-fingerprint{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0 12px}.csi-fingerprint>div{display:grid;grid-template-columns:24px 1fr 24px;align-items:center;gap:5px;border:1px solid var(--line);border-radius:9px;padding:5px}.csi-fingerprint i{font-style:normal;font-size:14px;text-align:center}.csi-fingerprint span{font-size:8px;line-height:1.15}.csi-fingerprint b{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;font-size:9px}.csi-fingerprint b.lv-1{background:#f7eee1}.csi-fingerprint b.lv-2{background:#e7eff6}.csi-fingerprint b.lv-3{background:#e4efe8}
.csi-role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.csi-role-card{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}.csi-role-card header{display:flex;gap:8px;align-items:center}.csi-role-card header>span{display:grid;place-items:center;width:34px;height:34px;background:#252824;color:#fff;border-radius:9px;font-size:16px}.csi-role-card header b,.csi-role-card header small{display:block}.csi-role-card header small{font-size:8.5px;color:var(--muted)}.csi-role-cases{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:10px}.csi-role-cases>div{border-radius:9px;background:#f6f3ee;padding:8px}.csi-role-cases strong,.csi-role-cases span,.csi-role-cases small{display:block}.csi-role-cases strong{font-size:9px;color:var(--accent)}.csi-role-cases span{font-size:9px;font-weight:800;margin:2px 0}.csi-role-cases small{font-size:8px;color:var(--muted);line-height:1.3}
.csi-case-detail{scroll-margin-top:92px;margin-top:17px}.csi-detail-head{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start}.csi-detail-head h2{font-size:26px;margin:5px 0 6px}.csi-detail-head p{margin:0;color:var(--muted);line-height:1.55}.csi-detail-score{display:grid;place-items:center;width:100px;height:100px;border-radius:50%;background:conic-gradient(var(--accent) 0 270deg,#eee9e3 270deg);position:relative;padding:12px;text-align:center}.csi-detail-score:before{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}.csi-detail-score>*{position:relative}.csi-detail-score strong{font-size:20px}.csi-detail-score span{font-size:7px;line-height:1.2;color:var(--muted)}.csi-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.csi-context-grid>div{border:1px solid var(--line);border-radius:12px;padding:10px}.csi-context-grid>div>span{font-size:8px;font-weight:900;text-transform:uppercase;color:var(--muted)}.csi-tagline{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.csi-tagline b{font-size:8.5px;background:#f5f2ed;padding:5px 7px;border-radius:999px}
.csi-observation-list{display:grid;gap:11px}.csi-observation{display:grid;grid-template-columns:55px 1fr;border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden}.csi-obs-rail{background:#242724;color:#fff;display:flex;flex-direction:column;align-items:center;padding:11px 5px;gap:8px}.csi-obs-rail span{font-size:8px;color:#bbb}.csi-obs-rail i{font-style:normal;font-size:20px}.csi-obs-rail b{font-size:9px}.csi-obs-main{padding:13px}.csi-obs-main header{display:flex;justify-content:space-between;gap:12px}.csi-obs-main h3{font-size:14px;margin:2px 0}.csi-obs-main header p{margin:0;font-size:9.5px;color:var(--muted)}.csi-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;align-content:start}.csi-badges span{font-size:8px;border-radius:999px;padding:5px 7px;background:#f3f0eb}.csi-badges span.deep{background:#e3efe7;color:#285f44}.csi-badges span.partial{background:#f7eddc;color:#815d22}.csi-badges span.overlay{background:#f2e3e6;color:#7e2f40}.csi-semiotic-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:7px;align-items:stretch;margin-top:11px}.csi-semiotic-flow>div{border:1px solid #ece7df;background:#faf9f6;border-radius:10px;padding:9px}.csi-semiotic-flow>div.design{background:#eef4f0;border-color:#d5e4da}.csi-semiotic-flow>div>span{font-size:7px;color:var(--accent);font-weight:900}.csi-semiotic-flow b{display:block;font-size:8.5px;text-transform:uppercase;letter-spacing:.035em;margin-top:2px}.csi-semiotic-flow p{font-size:9.5px;line-height:1.45;margin:5px 0 0}.csi-semiotic-flow>i{align-self:center;color:#aaa;font-style:normal}.csi-case-conclusion{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.csi-case-conclusion>div{border:1px solid #d5e4da;background:#eef4f0;border-radius:11px;padding:11px}.csi-case-conclusion>.caution{background:#fbf2e3;border-color:#ead5ae}.csi-case-conclusion b{font-size:9px;text-transform:uppercase}.csi-case-conclusion p{font-size:10px;line-height:1.5;margin:4px 0 0}
.csi-shortlist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.csi-shortlist{border:1px solid var(--line);border-radius:13px;padding:11px;background:#fff}.csi-shortlist.transfer{box-shadow:inset 3px 0 0 #3f6f56}.csi-shortlist.specific{box-shadow:inset 3px 0 0 #40688b}.csi-shortlist.emerging{box-shadow:inset 3px 0 0 #9d772b}.csi-shortlist.validate{box-shadow:inset 3px 0 0 #8a3949}.csi-shortlist header{display:flex;gap:7px;align-items:center}.csi-shortlist header>span{font-size:17px;width:28px;text-align:center}.csi-shortlist header div{flex:1}.csi-shortlist header b,.csi-shortlist header small{display:block}.csi-shortlist header b{font-size:10px}.csi-shortlist header small{font-size:7.5px;color:var(--muted)}.csi-shortlist header em{font-style:normal;font-size:9px;font-weight:900;color:var(--accent)}.csi-mini-matrix{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:9px 0}.csi-mini-matrix span{display:grid;grid-template-columns:1fr 20px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:3px}.csi-mini-matrix b{font-size:7px}.csi-mini-matrix i{font-style:normal;display:grid;place-items:center;width:18px;height:18px;border-radius:4px;font-size:7px}.csi-mini-matrix i.lv-0{background:#f3f1ed}.csi-mini-matrix i.lv-1{background:#f7eee1}.csi-mini-matrix i.lv-2{background:#e7eff6}.csi-mini-matrix i.lv-3{background:#e4efe8}.csi-shortlist p{font-size:8.5px;color:var(--muted);margin:5px 0 0}.csi-decision-note{margin-top:12px;border-radius:14px;background:#252824;color:#f5f4ef;padding:14px 16px}.csi-decision-note b{font-size:10px;text-transform:uppercase;letter-spacing:.06em}.csi-decision-note p{font-size:10.5px;line-height:1.55;margin:5px 0 0;color:#ddd}
@media(max-width:1180px){.csi-hero-card{grid-template-columns:1fr}.csi-flow-mini{grid-template-columns:repeat(4,1fr)}.csi-flow-mini i{display:none}.csi-kpis{grid-template-columns:repeat(2,1fr)}.csi-case-tabs{grid-template-columns:repeat(2,1fr)}.csi-case-grid,.csi-family-grid,.csi-role-grid{grid-template-columns:1fr}.csi-semiotic-flow{grid-template-columns:1fr 1fr}.csi-semiotic-flow>i{display:none}.csi-shortlist-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.csi-kpis,.csi-case-tabs,.csi-context-grid,.csi-case-conclusion,.csi-shortlist-grid{grid-template-columns:1fr}.csi-case-hero{height:145px}.csi-fingerprint{grid-template-columns:1fr 1fr}.csi-observation{grid-template-columns:42px 1fr}.csi-obs-main header{display:block}.csi-badges{justify-content:flex-start;margin-top:7px}.csi-semiotic-flow{grid-template-columns:1fr}.csi-detail-head{grid-template-columns:1fr}.csi-detail-score{width:82px;height:82px}.csi-role-cases{grid-template-columns:1fr}}


/* Logic audit, bilingual UI, richer analysis Information Design */
.side-nav .side-text{min-width:0;display:block;line-height:1.42}
html.lang-updating .global-lang-toggle{pointer-events:none}
.semiotic-atlas-infodesign{overflow:hidden}
.semiotic-scatter{display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:320px 38px;gap:0 10px;margin-top:12px}
.semiotic-axis.y{grid-row:1;display:grid;grid-template-rows:repeat(5,1fr);align-items:start;position:relative;color:var(--muted);font-size:10px;text-align:right;padding-right:7px}
.semiotic-axis.y b{position:absolute;writing-mode:vertical-rl;transform:rotate(180deg);left:-10px;top:50%;translate:0 -50%;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.semiotic-axis.x{grid-column:2;display:grid;grid-template-columns:repeat(5,1fr);position:relative;color:var(--muted);font-size:10px;text-align:center;padding-top:7px}
.semiotic-axis.x b{position:absolute;top:25px;left:50%;translate:-50% 0;font-size:10px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.semiotic-plot{position:relative;border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(to right,transparent 24.8%,var(--line) 25%,transparent 25.2%,transparent 49.8%,var(--line) 50%,transparent 50.2%,transparent 74.8%,var(--line) 75%,transparent 75.2%),linear-gradient(to top,transparent 24.8%,var(--line) 25%,transparent 25.2%,transparent 49.8%,var(--line) 50%,transparent 50.2%,transparent 74.8%,var(--line) 75%,transparent 75.2%);border-radius:0 12px 0 0}
.semiotic-point{position:absolute;width:34px;height:34px;border-radius:50%;translate:-50% 50%;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.14);display:grid;place-items:center;font-size:10px;font-weight:900;cursor:default;color:#fff;z-index:2}
.semiotic-point.core{background:#7e2f40}.semiotic-point.strong{background:#3f6f56}.semiotic-point.contextual{background:#40688b}.semiotic-point.caution{background:#9c7a32}
.semiotic-quadrant{position:absolute;font-size:9px;font-weight:800;color:var(--muted);background:rgba(255,255,255,.82);padding:4px 6px;border-radius:7px}.semiotic-quadrant.q1{right:7px;top:7px}.semiotic-quadrant.q2{right:7px;bottom:7px}
.semiotic-point-legend{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 0 64px;font-size:10px;color:var(--muted)}
.semiotic-point-legend span:before{font-size:18px;vertical-align:-2px}.semiotic-point-legend .core{color:#7e2f40}.semiotic-point-legend .strong{color:#3f6f56}.semiotic-point-legend .contextual{color:#40688b}.semiotic-point-legend .caution{color:#9c7a32}
.csi-audit{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:14px;padding:13px 16px;margin:14px 0;background:#fff}.csi-audit>div{display:grid;gap:3px}.csi-audit b{font-size:13px}.csi-audit span{font-size:10px;color:var(--muted);line-height:1.45}.csi-audit>strong{font-size:22px}.csi-audit.ok{border-left:4px solid #3f6f56}.csi-audit.warn{border-left:4px solid #9c7a32;background:#fff9ec}
.csi-kpis>div.ok{box-shadow:inset 0 -3px 0 #3f6f56}.csi-kpis>div.warn{box-shadow:inset 0 -3px 0 #9c7a32}
.csi-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.csi-infodesign{margin:0!important}
.csi-strength-chart{display:grid;gap:10px}.csi-strength-row{display:grid;grid-template-columns:38px minmax(100px,.8fr) minmax(180px,2fr) 88px;gap:8px;align-items:center}.csi-strength-row>b{font-size:12px}.csi-strength-row>span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.csi-strength-row>div{height:14px;display:flex;border-radius:999px;overflow:hidden;background:#eee}.csi-strength-row i{display:block;height:100%}.csi-strength-row .s0,.csi-strength-legend .s0 i{background:#e7e4df}.csi-strength-row .s1,.csi-strength-legend .s1 i{background:#d9c79e}.csi-strength-row .s2,.csi-strength-legend .s2 i{background:#8da9bc}.csi-strength-row .s3,.csi-strength-legend .s3 i{background:#7e2f40}.csi-strength-row small{font-size:9px;color:var(--muted);text-align:right}
.csi-strength-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:9px;color:var(--muted)}.csi-strength-legend span{display:flex;align-items:center;gap:4px}.csi-strength-legend i{width:9px;height:9px;border-radius:3px;display:inline-block}
.csi-layer-chart{display:grid;gap:7px}.csi-layer-head,.csi-layer-row{display:grid;grid-template-columns:38px repeat(4,1fr);gap:7px;align-items:center}.csi-layer-head b{font-size:9px;color:var(--muted);text-align:center}.csi-layer-row>strong{font-size:11px}.csi-layer-row>div{height:27px;position:relative;background:#f2efea;border-radius:7px;overflow:hidden}.csi-layer-row i{position:absolute;inset:0 auto 0 0;background:var(--accent-soft);border-right:2px solid var(--accent)}.csi-layer-row b{position:absolute;inset:0;display:grid;place-items:center;font-size:10px}
@media(max-width:1100px){.csi-info-grid{grid-template-columns:1fr}.semiotic-scatter{grid-template-rows:280px 38px}}
@media(max-width:700px){.semiotic-scatter{grid-template-columns:42px minmax(0,1fr);grid-template-rows:240px 38px}.semiotic-point{width:28px;height:28px}.semiotic-point-legend{margin-left:50px}.csi-strength-row{grid-template-columns:34px 1fr}.csi-strength-row>span,.csi-strength-row>small{display:none}.csi-strength-row>div{grid-column:2}.csi-layer-head,.csi-layer-row{grid-template-columns:34px repeat(4,minmax(55px,1fr));overflow:auto}}

.csi-kpis{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}


/* Semiotic Recognition UIT */
.semiotic-recognition-probe{margin:22px 0;padding:18px;border:1px solid #d8c7bd;border-radius:18px;background:linear-gradient(145deg,#fffaf6,#fff);box-shadow:0 10px 30px rgba(55,35,25,.04)}
.semiotic-probe-head h3{font-size:19px;margin:4px 0 7px}.semiotic-probe-head p{margin:0;color:var(--muted);line-height:1.58}.semiotic-none{margin:15px 0;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.semiotic-probe-list{display:grid;gap:12px}.semiotic-probe-row{position:relative;border:1px solid var(--line);border-radius:14px;background:#fff;padding:15px 15px 15px 56px}.semiotic-probe-index{position:absolute;left:15px;top:16px;width:27px;height:27px;border-radius:8px;background:#2f302d;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900}.semiotic-probe-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.semiotic-confidence{margin-top:10px}.rating.compact{max-width:360px}.semiotic-probe-note{margin-top:12px;font-size:11px;color:var(--muted);line-height:1.5}.semiotic-confidence-summary{margin-top:14px;padding:14px;border-radius:13px;background:#f6f2ed;border:1px solid var(--line);display:flex;align-items:baseline;gap:10px}.semiotic-confidence-summary b{font-size:25px;letter-spacing:-.04em}.semiotic-confidence-summary span{font-size:12px;color:var(--muted)}.semiotic-raw-top{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:13px}.semiotic-raw-top>b{width:100%;font-size:11px;color:var(--muted)}.semiotic-raw-top span{font-size:11px;padding:6px 8px;border-radius:999px;background:#f4f0eb;border:1px solid var(--line)}.semiotic-raw-top em{font-style:normal;font-weight:900;color:var(--accent);margin-left:4px}.semiotic-uit-summary{overflow:hidden}
@media(max-width:760px){.semiotic-probe-grid{grid-template-columns:1fr}.semiotic-probe-row{padding-left:15px;padding-top:54px}.semiotic-probe-index{top:14px}}

.semiotic-recognition-breakdown{margin-top:16px}.semiotic-case-rec-row{display:grid;grid-template-columns:minmax(170px,1.1fr) minmax(160px,1fr) 54px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #eee8e1}.semiotic-case-rec-row>span{font-size:12px;line-height:1.35}.semiotic-case-rec-row>strong{text-align:right;font-size:12px}.semiotic-case-rec-row>small{grid-column:2/4;color:var(--muted);font-size:10px;margin-top:-5px}@media(max-width:720px){.semiotic-case-rec-row{grid-template-columns:1fr 48px}.semiotic-case-rec-row .analysis-bar-track{grid-column:1}.semiotic-case-rec-row>small{grid-column:1/3}}


/* Research Journal */
.journal-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.journal-kpi-grid .analysis-metric{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.journal-snapshot{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.journal-snapshot>div{background:#f7f4ef;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center}.journal-snapshot b{display:block;font-size:21px}.journal-snapshot span{font-size:10px;color:var(--muted);line-height:1.3}.journal-filters{display:flex;gap:8px}.journal-filters select{max-width:220px}.journal-entry{border:1px solid var(--line);border-radius:16px;padding:16px;margin:12px 0;background:#fff}.journal-entry-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.journal-entry h4{margin:8px 0 3px;font-size:17px}.journal-entry small{color:var(--muted)}.journal-tags{display:flex;gap:6px;flex-wrap:wrap}.journal-body{margin-top:13px;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:8px}.journal-body p{margin:0;white-space:pre-wrap}.journal-evidence{background:#eef3f6;border-radius:10px;padding:9px 11px}.journal-guide{margin-bottom:16px}.journal-overview-card{margin-bottom:16px}@media(max-width:1200px){.journal-snapshot{grid-template-columns:repeat(4,1fr)}.journal-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.journal-snapshot,.journal-kpi-grid{grid-template-columns:1fr 1fr}.journal-entry-head{display:block}.journal-entry-head .btn{margin-top:10px}.journal-filters{display:grid;grid-template-columns:1fr}.journal-filters select{max-width:none}}


/* Journal Audit Pro */
.journal-infodesign-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin:16px 0}
.journal-stage-flow{display:grid;gap:9px}.journal-stage-flow>div{display:grid;grid-template-columns:minmax(160px,1.25fr) minmax(160px,2fr) 34px;gap:10px;align-items:center}.journal-stage-flow span{font-size:12px;line-height:1.35}.journal-stage-flow .analysis-bar-track i{display:block;height:100%;background:var(--accent);border-radius:999px}.journal-stage-flow b{font-size:12px;text-align:right}
.journal-trace-card{grid-column:1/3}.journal-trace-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.journal-trace-flow span{padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#faf8f5;font-size:12px;font-weight:700}.journal-trace-flow i{font-style:normal;color:var(--muted)}.journal-source-split{display:flex;gap:10px;margin-top:14px}.journal-source-split>div{flex:1;border:1px solid var(--line);border-radius:12px;padding:12px}.journal-source-split b{font-size:22px;display:block}.journal-source-split span{font-size:11px;color:var(--muted)}
.journal-entry{border:1px solid var(--line);border-radius:15px;padding:15px 16px;margin:10px 0;background:#fff}.journal-entry.system-entry{background:#f5f8fb;border-style:dashed}.journal-entry.researcher-entry{box-shadow:inset 3px 0 0 #c78a92}.journal-entry-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.journal-entry-head h4{margin:8px 0 4px;font-size:16px;line-height:1.35}.journal-tags{display:flex;gap:6px;flex-wrap:wrap}.journal-body{display:grid;gap:8px;margin-top:12px}.journal-body p{margin:0;line-height:1.6}.journal-body>div{font-size:12px;line-height:1.55;padding-top:7px;border-top:1px dashed #e7e1d9}.journal-evidence-links>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.journal-ref{border:1px solid #d9d2c9;background:#fff;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:750;cursor:pointer;color:var(--text)}.journal-ref:hover{border-color:var(--accent);color:var(--accent)}.journal-ref.plain{display:inline-block;cursor:default}.journal-ref.missing{border-color:#e0b76f;background:#fff8e8}.journal-change{display:grid!important;gap:5px;background:#fbf8f4;border:1px solid var(--line)!important;border-radius:10px;padding:10px!important}.journal-change span{display:block}.journal-change em{font-style:normal;font-weight:800}.journal-change-form{border:1px solid var(--line);border-radius:14px;padding:14px;margin:13px 0;background:#fbf9f6}.journal-change-form h3{font-size:14px;margin:0 0 10px}.journal-filters{display:flex;gap:8px;flex-wrap:wrap}.journal-filters select{min-width:155px}
@media(max-width:1100px){.journal-infodesign-grid{grid-template-columns:1fr}.journal-trace-card{grid-column:auto}.journal-stage-flow>div{grid-template-columns:1fr}.journal-entry-head{display:block}.journal-entry-head>.btn{margin-top:10px}}


/* Analysis Guides Pro */
.analysis-guide-pro{margin:0 0 18px;border:1px solid #ddd5cc;border-radius:20px;background:linear-gradient(145deg,#fffdfb,#f7f3ed);padding:18px;box-shadow:0 10px 30px rgba(44,35,28,.035)}
.analysis-guide-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}.analysis-guide-head>div>span{font-size:9px;letter-spacing:.17em;font-weight:900;color:var(--accent)}.analysis-guide-head h2{font-size:19px;line-height:1.28;margin:5px 0}.analysis-guide-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.55;max-width:920px}.analysis-guide-head>b{flex:0 0 auto;font-size:10px;border:1px solid #dacfc3;border-radius:999px;padding:7px 10px;background:#fff;color:#6d6359}
.analysis-guide-flow{display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr;gap:8px;align-items:stretch}.analysis-guide-flow>div{border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px 12px}.analysis-guide-flow>div small{display:block;font-size:8.5px;letter-spacing:.12em;font-weight:900;color:#776f66;margin-bottom:5px}.analysis-guide-flow>div p{font-size:11px;line-height:1.5;margin:0}.analysis-guide-flow>i{display:grid;place-items:center;font-style:normal;color:#9a9086;font-size:18px}
.analysis-guide-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:11px}.analysis-guide-metrics>div{display:flex;align-items:baseline;gap:8px;border:1px solid var(--line);border-radius:12px;background:#faf8f5;padding:10px 12px}.analysis-guide-metrics strong{font-size:20px;letter-spacing:-.04em}.analysis-guide-metrics span{font-size:10.5px;line-height:1.35;color:var(--muted)}
.analysis-guide-notes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.analysis-guide-notes>div{border-radius:13px;padding:12px 13px;border:1px solid var(--line)}.analysis-guide-notes b{font-size:11px}.analysis-guide-notes p{font-size:11px;line-height:1.55;margin:5px 0 0}.analysis-guide-notes .example{background:#eef4f7;border-color:#d4e0e7}.analysis-guide-notes .caution{background:#fff7e8;border-color:#ead8ad}
@media(max-width:1100px){.analysis-guide-flow{grid-template-columns:1fr 18px 1fr}.analysis-guide-flow>div:nth-of-type(3){grid-column:1}.analysis-guide-flow>i:nth-of-type(2){display:none}.analysis-guide-flow>div:nth-of-type(4){grid-column:3}.analysis-guide-metrics{grid-template-columns:1fr 1fr}.analysis-guide-notes{grid-template-columns:1fr}}
@media(max-width:700px){.analysis-guide-pro{padding:14px}.analysis-guide-head{display:block}.analysis-guide-head>b{display:inline-block;margin-top:9px}.analysis-guide-flow{grid-template-columns:1fr}.analysis-guide-flow>i{transform:rotate(90deg);height:14px}.analysis-guide-flow>div:nth-of-type(3),.analysis-guide-flow>div:nth-of-type(4){grid-column:auto}.analysis-guide-flow>i:nth-of-type(2){display:grid}.analysis-guide-metrics{grid-template-columns:1fr}}


/* Design Synthesis Intelligence */
.r2d-guide-pro{border-top:4px solid #7e2f40}.r2d-levels{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.r2d-levels article{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;position:relative;min-height:220px}.r2d-levels article>b{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--accent);color:#fff;margin-bottom:10px}.r2d-levels h3{margin:0 0 8px;font-size:16px}.r2d-levels strong{display:block;font-size:12px;color:#72313f;margin-bottom:8px}.r2d-levels p{font-size:12px;line-height:1.55;color:var(--muted)}.r2d-levels em{position:absolute;left:16px;bottom:14px;font-size:10px;font-style:normal;font-weight:800;color:var(--muted)}
.r2d-finding-deep-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.r2d-finding-deep-grid>article{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.r2d-finding-deep-grid header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.r2d-finding-deep-grid header div{display:flex;gap:8px;align-items:center}.r2d-finding-deep-grid header b{color:var(--accent)}.r2d-finding-deep-grid header span,.r2d-finding-deep-grid header em{font-size:10px;color:var(--muted);font-style:normal}.r2d-finding-deep-grid h3{font-size:14px;line-height:1.45;margin:12px 0}.r2d-finding-lenses{display:grid;grid-template-columns:1fr 1fr;gap:9px}.r2d-finding-lenses>div{padding:11px;border-radius:12px;background:#f5f2ee;border:1px solid var(--line)}.r2d-finding-lenses>div.warn{background:#fbf1e2}.r2d-finding-lenses>div.test{background:#edf5f0}.r2d-finding-lenses strong{font-size:10px;text-transform:uppercase;letter-spacing:.05em}.r2d-finding-lenses p{font-size:11px;line-height:1.5;margin:5px 0 0}.r2d-finding-deep-grid footer{display:flex;gap:6px;margin-top:12px}.r2d-finding-deep-grid footer span{font-size:9px;padding:5px 8px;border-radius:999px;background:#eee9e2;font-weight:800}
.r2d-principle-matrix th,.r2d-principle-matrix td{text-align:center;vertical-align:middle}.r2d-principle-matrix th:first-child,.r2d-principle-matrix td:first-child{text-align:left;min-width:180px}.r2d-matrix-dot{font-size:15px;color:#c6c1ba}.r2d-matrix-dot.on{color:#7e2f40}.r2d-matrix-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.r2d-matrix-summary article{border:1px solid var(--line);border-radius:12px;padding:12px}.r2d-matrix-summary b{font-size:22px;display:block}.r2d-matrix-summary span{font-size:11px;font-weight:800}.r2d-matrix-summary small{display:block;color:var(--muted);margin-top:4px}
.r2d-guideline-group{margin-top:16px}.r2d-guideline-group>h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px}.r2d-guideline-group>div{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.r2d-guideline-group article{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.r2d-guideline-group header{display:flex;justify-content:space-between;font-size:10px}.r2d-guideline-group header b{color:var(--accent)}.r2d-guideline-group h4{font-size:14px;margin:9px 0 12px}.r2d-guideline-group article>div{padding:9px 10px;border-radius:10px;margin:7px 0}.r2d-guideline-group .do{background:#edf5f0}.r2d-guideline-group .avoid{background:#fbefef}.r2d-guideline-group .test{background:#eef3f8}.r2d-guideline-group strong{font-size:9px;letter-spacing:.06em}.r2d-guideline-group p{font-size:11px;line-height:1.5;margin:4px 0 0}.r2d-guideline-group footer{font-size:9px;color:var(--muted);margin-top:9px}
.r2d-prototype-exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.r2d-prototype-exp-grid>article{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.r2d-prototype-exp-grid header{display:flex;justify-content:space-between;font-size:10px}.r2d-prototype-exp-grid h3{font-size:14px;margin:9px 0 12px}.r2d-prototype-exp-grid strong{font-size:10px;color:#6f2f3d}.r2d-prototype-exp-grid p{font-size:11px;line-height:1.5;margin:4px 0 10px}.r2d-prototype-exp-grid .success{background:#edf5f0;padding:9px;border-radius:10px}.r2d-resource-chip{display:inline-flex;gap:4px;align-items:center;padding:4px 6px;border-radius:8px;background:#f0ece6;margin:2px;font-size:9px}.r2d-resource-chip em{font-style:normal;color:var(--muted)}
@media(max-width:1200px){.r2d-levels{grid-template-columns:1fr 1fr}.r2d-prototype-exp-grid{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.r2d-levels,.r2d-finding-deep-grid,.r2d-guideline-group>div,.r2d-prototype-exp-grid,.r2d-matrix-summary{grid-template-columns:1fr}.r2d-finding-lenses{grid-template-columns:1fr}.r2d-principle-matrix{min-width:900px}}

/* PRO SEMIOTIC CASE MAP */
.csi-live-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:11px}.csi-live-row>span{font-size:9px;line-height:1.45;color:var(--muted);max-width:720px}
.csi-pro-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:12px;margin:15px 0}.csi-pro-thesis,.csi-pro-facts>div{border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px}.csi-pro-thesis{background:linear-gradient(135deg,#252824,#343833);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:160px}.csi-pro-thesis>span,.csi-pro-facts span,.csi-subhead>span{font-size:8px;font-weight:900;letter-spacing:.075em;text-transform:uppercase}.csi-pro-thesis>span{color:#dac9c9}.csi-pro-thesis p{font-size:13px;line-height:1.65;margin:8px 0 0}.csi-pro-facts{display:grid;gap:8px}.csi-pro-facts span{color:var(--accent)}.csi-pro-facts p{font-size:9.5px;line-height:1.5;color:var(--muted);margin:4px 0 0}
.csi-source-dossier,.csi-evidence-dossier{border-top:1px solid var(--line);padding-top:14px;margin:15px 0}.csi-subhead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:9px}.csi-subhead>span{color:var(--accent)}.csi-subhead p{font-size:9px;line-height:1.45;color:var(--muted);margin:0;max-width:620px;text-align:right}.csi-source-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.csi-source-card{display:grid;grid-template-columns:1fr auto;gap:4px 8px;border:1px solid var(--line);border-radius:11px;padding:10px 11px;background:#faf9f6;text-decoration:none;color:inherit;transition:.15s ease}.csi-source-card:hover{background:#fff;border-color:#c9aeb1;transform:translateY(-1px)}.csi-source-card b{font-size:9.5px;line-height:1.35}.csi-source-card span{grid-column:1/-1;color:var(--muted);font-size:7.8px;overflow-wrap:anywhere;line-height:1.3}.csi-source-card em{font-style:normal;font-size:7px;text-transform:uppercase;letter-spacing:.04em;background:#eee8e1;border-radius:99px;padding:3px 6px;align-self:start}
.csi-evidence-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:9px}.csi-evidence-card{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}.csi-evidence-card>button{display:block;width:100%;border:0;background:#eee;padding:0;cursor:pointer}.csi-evidence-card img{width:100%;height:165px;display:block;object-fit:cover}.csi-evidence-card>div{padding:9px 10px}.csi-evidence-card p{font-size:9px;line-height:1.45;margin:0 0 7px}.csi-evidence-card a{font-size:8px;font-weight:800;color:var(--accent)}
.csi-analytic-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}.csi-analytic-meta>span{border:1px solid #ece7df;border-radius:8px;background:#f8f6f2;padding:7px 8px;font-size:8px;line-height:1.4;color:#54544f}.csi-analytic-meta b{display:block;font-size:6.8px;text-transform:uppercase;letter-spacing:.055em;color:var(--accent);margin-bottom:3px}
.csi-observation-body{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,2.3fr);gap:10px;align-items:stretch;margin-top:10px}.csi-observation-body .csi-semiotic-flow{margin-top:0}.csi-obs-image{border:1px solid #e8e2d9;border-radius:10px;overflow:hidden;background:#f3f0eb;padding:0;cursor:pointer;text-align:left;min-height:100%}.csi-obs-image img{display:block;width:100%;height:100%;min-height:150px;object-fit:cover}.csi-obs-image span{display:block;padding:6px 8px;background:#fff;font-size:7.5px;color:var(--muted);border-top:1px solid #eee}
.csi-risk{margin-top:9px;border-left:3px solid #9c7a32;background:#fff8e9;border-radius:8px;padding:8px 10px}.csi-risk b{font-size:7.5px;text-transform:uppercase;letter-spacing:.055em;color:#7b5e22}.csi-risk p{font-size:8.7px;line-height:1.45;margin:3px 0 0;color:#665c49}
@media(max-width:1050px){.csi-pro-grid{grid-template-columns:1fr}.csi-analytic-meta{grid-template-columns:repeat(2,1fr)}.csi-observation-body{grid-template-columns:1fr}.csi-obs-image img{height:210px}.csi-subhead{display:block}.csi-subhead p{text-align:left;margin-top:4px}}
@media(max-width:700px){.csi-analytic-meta{grid-template-columns:1fr}.csi-source-list,.csi-evidence-gallery{grid-template-columns:1fr}.csi-obs-image img{height:180px}.csi-pro-thesis{min-height:auto}}

/* ============================================================
   PRO UI REBUILD — CASE SEMIOTIC INTELLIGENCE
   Fixes legacy image-column reservation after full-screenshot mode,
   improves reading width, hierarchy, density, and responsive behavior.
   ============================================================ */

/* Main case canvas */
.csi-case-detail{
  padding:24px !important;
  border-radius:20px !important;
  box-shadow:0 8px 28px rgba(25,28,25,.055) !important;
  border-color:#e5dfd6 !important;
}
.csi-detail-head{gap:28px !important;align-items:center !important}
.csi-detail-head h2{font-size:30px !important;letter-spacing:-.025em !important;line-height:1.08 !important}
.csi-detail-head p{font-size:13px !important;line-height:1.65 !important;max-width:900px}
.csi-detail-score{width:92px !important;height:92px !important;flex:0 0 auto}
.csi-detail-score strong{font-size:22px !important}
.csi-detail-score span{font-size:8px !important;line-height:1.25 !important}

/* Research thesis / facts */
.csi-pro-grid{gap:14px !important;margin-top:18px !important}
.csi-pro-thesis,.csi-pro-facts>div{border-radius:14px !important}
.csi-pro-thesis{padding:18px 20px !important}
.csi-pro-thesis>span,.csi-pro-facts span{font-size:8px !important;letter-spacing:.09em !important}
.csi-pro-thesis p{font-size:14px !important;line-height:1.65 !important;margin-top:7px !important}
.csi-pro-facts>div{padding:14px 16px !important}
.csi-pro-facts p{font-size:11.5px !important;line-height:1.58 !important}
.csi-context-grid{gap:12px !important;margin:16px 0 !important}
.csi-context-grid>div{padding:12px 14px !important;border-radius:13px !important;background:#fcfbf8}
.csi-context-grid>div>span{font-size:8px !important;letter-spacing:.07em}
.csi-tagline b{font-size:9px !important;padding:6px 9px !important}

/* Full website screenshots — readable, not decorative thumbnails */
.csi-evidence-dossier{margin-top:18px !important}
.csm-shot-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;gap:12px !important;margin:12px 0 20px !important}
.csm-shot{border-radius:14px !important;box-shadow:0 3px 12px rgba(20,22,20,.04);transition:transform .16s ease,box-shadow .16s ease}
.csm-shot:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(20,22,20,.08)}
.csm-shot img{height:155px !important;object-fit:cover !important;object-position:top center !important;background:#f2efe9}
.csm-shot span{font-size:9px !important;padding:8px 10px !important}

/* Observation card */
.csi-observation-list{gap:16px !important}
.csi-observation{
  grid-template-columns:64px minmax(0,1fr) !important;
  border-radius:18px !important;
  border-color:#e4ded5 !important;
  box-shadow:0 4px 16px rgba(21,24,21,.035);
}
.csi-obs-rail{padding:14px 7px !important;gap:10px !important;background:#252925 !important}
.csi-obs-rail span{font-size:9px !important}
.csi-obs-rail i{font-size:22px !important}
.csi-obs-rail b{font-size:10px !important;letter-spacing:.03em}
.csi-obs-main{padding:18px 20px 16px !important;min-width:0}
.csi-obs-main header{gap:18px !important;align-items:flex-start}
.csi-obs-main h3{font-size:17px !important;line-height:1.25 !important;margin:3px 0 5px !important;letter-spacing:-.01em}
.csi-obs-main header p{font-size:10.5px !important;line-height:1.45 !important}
.csm-obs-id{font-size:9px !important;letter-spacing:.045em}
.csi-badges span{font-size:8.5px !important;padding:5px 8px !important}

/* Metadata row */
.csi-analytic-meta{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:9px !important;margin-top:14px !important}
.csi-analytic-meta>span{padding:10px 11px !important;border-radius:11px !important;font-size:9.5px !important;line-height:1.48 !important;background:#faf8f4 !important;overflow-wrap:anywhere}
.csi-analytic-meta b{font-size:7.2px !important;letter-spacing:.075em !important;margin-bottom:4px !important}

/* Critical fix: no more empty legacy image column */
.csi-observation-body{display:block !important;margin-top:12px !important}

/* Four-step analytical reading: 2×2, full width, stable at all desktop widths */
.csi-semiotic-flow{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-top:0 !important;
  align-items:stretch !important;
}
.csi-semiotic-flow>i{display:none !important}
.csi-semiotic-flow>div{
  position:relative;
  min-width:0;
  min-height:150px;
  padding:15px 16px 16px !important;
  border-radius:13px !important;
  background:#fbfaf7 !important;
  border:1px solid #e8e2d8 !important;
}
.csi-semiotic-flow>div:nth-of-type(2){background:#faf8f4 !important}
.csi-semiotic-flow>div:nth-of-type(3){background:#f8f7f2 !important}
.csi-semiotic-flow>div.design{background:#edf5f0 !important;border-color:#cfe2d5 !important}
.csi-semiotic-flow>div>span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:22px;
  border-radius:999px;
  background:#f1e7e9;
  color:#7f263d !important;
  font-size:8px !important;
  letter-spacing:.04em;
}
.csi-semiotic-flow>div.design>span{background:#dcebe2;color:#285f44 !important}
.csi-semiotic-flow b{font-size:10.5px !important;line-height:1.35 !important;letter-spacing:.055em !important;margin-top:9px !important}
.csi-semiotic-flow p{font-size:12px !important;line-height:1.62 !important;margin:8px 0 0 !important;color:#3f413d;max-width:70ch}

/* Interpretive risk — less visually dominant but clearly separated */
.csi-risk{margin-top:11px !important;padding:12px 14px !important;border-radius:12px !important;background:#fff7e8 !important;border-left:3px solid #b28a3d !important}
.csi-risk b{font-size:8px !important;letter-spacing:.08em !important}
.csi-risk p{font-size:10.5px !important;line-height:1.55 !important;margin-top:4px !important}

/* Evidence footer */
.csm-evidence{margin-top:13px !important;padding-top:12px !important;gap:9px !important}
.csm-evidence span,.csm-evidence code,.csm-evidence a{font-size:9px !important}
.csm-evidence code{max-width:50%;white-space:normal}
.csm-evidence .btn.tiny{margin-left:4px}

/* Case conclusion */
.csi-case-conclusion{gap:12px !important;margin-top:16px !important}
.csi-case-conclusion>div{padding:14px 16px !important;border-radius:13px !important}
.csi-case-conclusion b{font-size:8.5px !important;letter-spacing:.065em}
.csi-case-conclusion p{font-size:11px !important;line-height:1.58 !important;margin-top:6px !important}

/* Source dossier */
.csi-source-list{gap:10px !important}
.csi-source-card{border-radius:12px !important;padding:11px 12px !important;min-width:0}
.csi-source-card b{font-size:10px !important;line-height:1.4}
.csi-source-card span{font-size:8px !important;overflow-wrap:anywhere}

/* Responsive hierarchy */
@media(max-width:1250px){
  .csi-analytic-meta{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .csm-shot-strip{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:900px){
  .csi-case-detail{padding:17px !important}
  .csi-observation{grid-template-columns:50px minmax(0,1fr) !important}
  .csi-obs-main{padding:15px !important}
  .csi-semiotic-flow{grid-template-columns:1fr !important}
  .csi-semiotic-flow>div{min-height:auto}
  .csi-detail-head{grid-template-columns:1fr !important}
  .csi-detail-score{width:76px !important;height:76px !important}
}
@media(max-width:650px){
  .csi-analytic-meta,.csm-shot-strip,.csi-context-grid,.csi-case-conclusion{grid-template-columns:1fr !important}
  .csi-observation{grid-template-columns:1fr !important}
  .csi-obs-rail{flex-direction:row !important;justify-content:flex-start !important;padding:9px 13px !important}
  .csi-obs-rail i{font-size:16px !important}
  .csi-obs-main header{display:block !important}
  .csi-badges{justify-content:flex-start !important;margin-top:8px !important}
  .csm-evidence code{max-width:100%}
}


/* ===== SYSTEM QUESTION BANK ===== */
.qbank-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.qbank-kpis>div{background:linear-gradient(180deg,#fff,#fbfaf7);border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:4px;min-height:94px;justify-content:center}
.qbank-kpis strong{font-size:30px;line-height:1;color:#6d1730;letter-spacing:-.04em}.qbank-kpis span{font-size:12px;line-height:1.45;color:var(--muted);font-weight:700}
.qbank-toolbar{position:sticky;top:72px;z-index:12;display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:12px;padding:12px;margin:0 0 14px;background:rgba(250,249,246,.94);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px rgba(30,24,19,.06)}
.qbank-search{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #ddd8cf;border-radius:12px;padding:0 12px;min-width:0}.qbank-search span{font-size:22px;color:#8b857c}.qbank-search input{width:100%;border:0!important;outline:0!important;background:transparent!important;padding:11px 0!important;box-shadow:none!important;font-size:14px}
.qbank-filters{display:flex;gap:4px;background:#ece9e3;border-radius:11px;padding:4px}.qbank-filters button{border:0;background:transparent;border-radius:8px;padding:8px 12px;font-weight:800;font-size:12px;color:#625e58;cursor:pointer}.qbank-filters button.active{background:#fff;color:#6d1730;box-shadow:0 1px 4px rgba(0,0,0,.09)}
.qbank-result{font-size:12px;font-weight:800;color:#6d1730;white-space:nowrap;padding:0 4px}.qbank-note{margin-bottom:16px}.qbank-stack{display:flex;flex-direction:column;gap:20px}
.qbank-instrument{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 10px 28px rgba(45,36,28,.045)}
.qbank-inst-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;background:linear-gradient(135deg,#faf8f4 0%,#fff 62%);border-bottom:1px solid var(--line)}.qbank-inst-head h2{font-size:19px;line-height:1.25;margin:5px 0 6px;color:#242421}.qbank-inst-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.qbank-inst-code{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:24px;padding:0 9px;border-radius:999px;background:#262824;color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em}.qbank-inst-count{flex:0 0 auto;width:70px;height:70px;border-radius:17px;border:1px solid #e3ded6;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.qbank-inst-count strong{font-size:24px;color:#6d1730;line-height:1}.qbank-inst-count span{font-size:10px;color:var(--muted);margin-top:5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.qbank-group{border-bottom:1px solid #ebe7df}.qbank-group:last-child{border-bottom:0}.qbank-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;background:#fcfbf8}.qbank-group>summary::-webkit-details-marker{display:none}.qbank-group>summary span:first-child{display:flex;align-items:baseline;gap:10px;min-width:0}.qbank-group>summary b{font-size:13px;color:#383631}.qbank-group>summary small{font-size:10px;color:#989187;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.qbank-chevron{font-size:18px;color:#999;transition:.2s}.qbank-group:not([open]) .qbank-chevron{transform:rotate(-90deg)}
.qbank-list{padding:8px 16px 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.qbank-question{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;padding:15px;border:1px solid #e5e0d8;border-radius:14px;background:#fff;min-height:132px;transition:border-color .15s,box-shadow .15s,transform .15s}.qbank-question:hover{border-color:#c9b9b5;box-shadow:0 8px 22px rgba(55,43,35,.06);transform:translateY(-1px)}.qbank-code{width:48px;height:34px;border-radius:9px;background:#262824;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;letter-spacing:.04em}.qbank-body{min-width:0}.qbank-type{display:inline-flex;padding:3px 7px;border-radius:999px;background:#f3eee8;color:#7a4a3f;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.qbank-vi{font-size:13px;line-height:1.5;color:#292824;font-weight:750}.qbank-en{font-size:11px;line-height:1.5;color:#8a857c;margin-top:7px;padding-top:7px;border-top:1px dashed #ece8e1}.qbank-question[hidden],.qbank-group[hidden],.qbank-instrument[hidden]{display:none!important}
@media(max-width:1100px){.qbank-kpis{grid-template-columns:repeat(2,1fr)}.qbank-toolbar{grid-template-columns:1fr}.qbank-filters{width:max-content}.qbank-list{grid-template-columns:1fr}}
@media(max-width:680px){.qbank-kpis{grid-template-columns:1fr 1fr}.qbank-inst-head{padding:18px}.qbank-inst-count{width:58px;height:58px}.qbank-group>summary{padding:14px 18px}.qbank-group>summary span:first-child{display:block}.qbank-group>summary small{display:block;margin-top:4px}.qbank-list{padding:8px 10px 12px}.qbank-question{grid-template-columns:46px minmax(0,1fr);padding:12px;gap:10px}.qbank-code{width:40px}.qbank-toolbar{top:58px}.qbank-filters{width:100%;overflow:auto}.qbank-filters button{flex:1;white-space:nowrap}}

/* editable central interview question bank */
.qbank-sync-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}
.qbank-sync-status>div{background:#252824;color:#fff;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-height:76px;justify-content:center}
.qbank-sync-status span{font-size:9px;letter-spacing:.08em;font-weight:900;opacity:.62}.qbank-sync-status strong{font-size:14px;line-height:1.35}
.qbank-adminbar{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,#f6f0e9,#fff);border:1px solid #e3ddd3;border-radius:16px;padding:14px 16px;margin:0 0 12px}
.qbank-adminbar>div:first-child{display:flex;flex-direction:column;gap:4px}.qbank-adminbar b{font-size:13px;color:#302d28}.qbank-adminbar small{font-size:11px;color:var(--muted);line-height:1.45}.qbank-admin-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.qbank-inst-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.qbank-inst-actions .btn{white-space:nowrap}
.qbank-question{grid-template-columns:58px minmax(0,1fr) auto;align-items:start}.qbank-question.is-editable{background:linear-gradient(180deg,#fff,#fdfcf9)}
.qbank-question.is-editable:hover{border-color:#b78d98}.qbank-type span{color:#2d7659}
.qbank-edit{border:1px solid #ddd4cf;background:#fff;color:#6d1730;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap;transition:.15s}
.qbank-edit:hover{background:#6d1730;border-color:#6d1730;color:#fff}
#qbankEditorForm textarea{min-height:118px}
@media(max-width:1100px){.qbank-sync-status{grid-template-columns:1fr 1fr}.qbank-adminbar{align-items:flex-start;flex-direction:column}.qbank-admin-actions{justify-content:flex-start}.qbank-inst-head{align-items:flex-start}.qbank-inst-actions{flex-direction:column;align-items:flex-end}}
@media(max-width:680px){.qbank-sync-status{grid-template-columns:1fr}.qbank-inst-head{flex-direction:column}.qbank-inst-actions{width:100%;flex-direction:row;align-items:center;justify-content:space-between}.qbank-question{grid-template-columns:46px minmax(0,1fr);}.qbank-edit{grid-column:2;justify-self:start}.qbank-admin-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.qbank-admin-actions .btn{width:100%}}


/* Interview answer sync + analysis */
.interview-answer-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:10px;margin-top:10px}.interview-answer-grid>div{min-width:0}.interview-answer-grid label{display:block;font-size:10px;font-weight:900;letter-spacing:.045em;text-transform:uppercase;color:#736d65;margin:0 0 6px}.interview-answer-grid textarea{min-height:96px}.interview-answer-grid .interview-timestamp{grid-column:1/-1}.interview-answer-grid .interview-timestamp input{min-height:40px}.interview-sync-metrics{margin-bottom:14px}.answer-coverage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.answer-coverage-grid button{display:grid;grid-template-columns:minmax(0,1fr) 120px 52px;align-items:center;gap:12px;border:1px solid #e4dfd7;background:#fff;border-radius:12px;padding:11px 12px;text-align:left;cursor:pointer}.answer-coverage-grid button:hover{border-color:#b98d98;box-shadow:0 6px 18px rgba(50,39,32,.06)}.answer-coverage-grid button>span{display:flex;gap:8px;min-width:0;font-size:11px;color:#5d5952}.answer-coverage-grid button>span b{color:#6d1730;flex:0 0 auto}.answer-coverage-grid button>i{height:7px;background:#eeeae4;border-radius:999px;overflow:hidden}.answer-coverage-grid button>i em{display:block;height:100%;background:#7a3047;border-radius:inherit}.answer-coverage-grid button>strong{text-align:right;font-size:11px;color:#34322e}.response-review-list{display:grid;gap:10px;max-height:62vh;overflow:auto;margin-top:14px;padding-right:4px}.response-review-list article{border:1px solid #e4dfd7;border-radius:14px;padding:14px;background:#fff}.response-review-list article header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.response-review-list article header b{color:#6d1730}.response-review-list article header span{font-size:9px;text-transform:uppercase;font-weight:900;letter-spacing:.05em;color:#888177}.response-review-list h4{margin:0 0 10px;font-size:13px;line-height:1.45}.response-data,.response-note{padding:10px 11px;border-radius:10px;background:#f7f5f1;margin-top:8px}.response-note{background:#f2f6f3}.response-data label,.response-note label{display:block;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#79736a;margin-bottom:5px}.response-data p,.response-note p{margin:0;white-space:pre-wrap;font-size:12px;line-height:1.55}.response-review-list.compact article{padding:12px}.qbank-answer-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px dashed #ebe6de}.qbank-answer-meta span{font-size:10px;color:#746f67}.qbank-answer-meta span b{color:#6d1730}.qbank-answer-meta button{border:0;background:transparent;color:#6d1730;font-size:10px;font-weight:900;cursor:pointer;padding:2px 0;margin-left:auto}.qbank-answer-meta button:hover{text-decoration:underline}
@media(max-width:900px){.interview-answer-grid{grid-template-columns:1fr}.interview-answer-grid .interview-timestamp{grid-column:auto}.answer-coverage-grid{grid-template-columns:1fr}.answer-coverage-grid button{grid-template-columns:minmax(0,1fr) 90px 48px}}
@media(max-width:560px){.answer-coverage-grid button{grid-template-columns:1fr}.answer-coverage-grid button>strong{text-align:left}.qbank-answer-meta button{margin-left:0;width:100%;text-align:left}}

.response-edit-list{display:grid;gap:12px;max-height:64vh;overflow:auto;padding-right:4px;margin-top:14px}.response-edit-list article{border:1px solid #e2ddd5;border-radius:14px;padding:14px;background:#fff}.response-edit-list article>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.response-edit-list article>header b{color:#6d1730}.response-edit-list article>header span{font-size:10px;font-weight:900;color:#8a837a}.response-edit-list article h4{margin:0 0 10px;font-size:13px;line-height:1.45}.response-edit-list textarea{min-height:90px}

/* Question Bank + real answer management */
.qbank-response-manager{max-height:68vh}
.qbank-response-manager article{box-shadow:0 4px 16px rgba(44,35,31,.035)}
.notice.compact{padding:8px 10px;margin:6px 0 10px;font-size:10px;line-height:1.45}
.qbank-sync-existing{margin:12px 0;padding:12px 14px;border:1px solid #e6d6aa;border-radius:12px;background:#fff9e9;align-items:flex-start}
.qbank-sync-existing span{display:grid;gap:3px}
.qbank-sync-existing small{display:block;color:#766d5f;line-height:1.45}
.qbank-question .qbank-answer-meta button{border:1px solid #e1d6d9;background:#fff8fa;border-radius:8px;padding:5px 8px;margin-left:auto}
.qbank-question .qbank-answer-meta button:hover{background:#f7edf0;text-decoration:none}
@media(max-width:760px){.qbank-response-manager .form-grid{grid-template-columns:1fr}.qbank-sync-existing{padding:10px}}

/* reliable interview response editor */
.response-record-picker{display:grid;gap:10px;max-height:58vh;overflow:auto;margin:14px 0}.response-record-pick{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid #e1dcd4;background:#fff;border-radius:14px;padding:14px 15px;text-align:left;cursor:pointer}.response-record-pick:hover{border-color:#9d6676;box-shadow:0 8px 22px rgba(62,42,48,.07)}.response-record-pick span,.response-record-pick strong{display:grid;gap:4px}.response-record-pick b{font-size:13px;color:#5f1830}.response-record-pick small{font-size:10px;color:var(--muted);font-weight:600}.response-record-pick strong{text-align:right;font-size:15px}.qbank-admin-actions{flex-wrap:wrap}.response-edit-list textarea{resize:vertical;min-height:110px}.response-edit-list input,.response-edit-list textarea{background:#fff}

/* Information Design enhancement */
.id-hero-panel{background:linear-gradient(135deg,#fffdf8 0%,#f6f0e8 100%);border-color:#e8ddd0}
.id-hero-grid{display:grid;grid-template-columns:1.45fr .9fr;gap:18px;align-items:start}.id-hero-grid h2{margin:6px 0 10px;font-size:34px;line-height:1.06;letter-spacing:-.045em}.id-hero-grid p{margin:0;color:#5d5a56;line-height:1.62}.id-hero-note{border:1px solid #e2d7ca;border-radius:18px;background:rgba(255,255,255,.78);backdrop-filter:blur(8px);padding:18px}.id-hero-note b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.id-hero-note p{font-size:12px;line-height:1.6;margin:8px 0 0}.id-hero-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.id-hero-mini-stats span{border-radius:14px;background:#f5f1eb;padding:11px 10px;font-size:10px;color:var(--muted);text-align:center}.id-hero-mini-stats b{display:block;font-size:24px;line-height:1;color:var(--ink);margin-bottom:4px}
.id-kpi-grid-extended{grid-template-columns:repeat(4,1fr)}
.id-story-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 18px}.id-story-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px 16px 15px;box-shadow:0 8px 24px rgba(24,25,22,.035)}.id-story-card span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:900}.id-story-card h3{margin:8px 0 8px;font-size:18px;line-height:1.15}.id-story-card p{margin:0;font-size:12px;color:var(--muted);line-height:1.55}
.id-mini-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.id-mini-facts span{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#f5f2ed;border:1px solid #ebe3d9;padding:7px 10px;font-size:11px;color:#544f49}.id-mini-facts b{font-size:13px;color:var(--ink)}
.id-coverage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.id-coverage-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:15px}.id-coverage-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.id-coverage-card header span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#252824;color:#fff;font-size:10px;font-weight:900}.id-coverage-card header b{font-size:16px;letter-spacing:-.03em}.id-coverage-card h3{margin:0 0 9px;font-size:13px;line-height:1.35}.id-coverage-track{height:8px;border-radius:999px;background:#eee8df;overflow:hidden}.id-coverage-track i{display:block;height:100%;background:linear-gradient(90deg,#e0c3c8,var(--accent));border-radius:999px}.id-coverage-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:9px}.id-coverage-meta strong{font-size:17px}.id-coverage-meta small{font-size:10px;color:var(--muted);max-width:180px;line-height:1.4;text-align:right}
.id-case-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.id-case-heading small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.id-case-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.id-case-badges em{font-style:normal;font-size:8px;font-weight:900;background:#f5f1eb;border:1px solid #ece2d6;border-radius:999px;padding:5px 7px;color:#6a5240}
.id-dim-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.id-dim-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:15px}.id-dim-card header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.id-dim-card header b{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#252824;color:#fff;font-size:12px}.id-dim-card header span{font-size:12px;font-weight:800;line-height:1.3}.id-dim-line{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #efeae3}.id-dim-line:first-of-type{border-top:0;padding-top:0}.id-dim-line strong{font-size:18px;color:var(--accent)}.id-dim-line small{font-size:11px;color:var(--muted);text-align:right;line-height:1.45;max-width:75%}.id-dim-line.low strong{color:#756d63}.id-dim-card footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding-top:10px;border-top:1px solid #efeae3}.id-dim-card footer span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.id-dim-card footer b{font-size:16px}
.id-context-lens-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.id-context-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:15px}.id-context-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.id-context-card header span{font-size:12px;font-weight:800}.id-context-card header b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f2ece5;font-size:11px}.id-context-row{display:grid;grid-template-columns:34px 1fr 38px;gap:9px;align-items:center;margin:9px 0}.id-context-row strong{font-size:11px}.id-context-row span{font-size:11px;text-align:right}.id-context-track{height:8px;border-radius:999px;background:#eee7df;overflow:hidden}.id-context-track i{display:block;height:100%;border-radius:999px}.id-context-track i.c01{background:#6e2535}.id-context-track i.c02{background:#294f78}.id-context-track i.c03{background:#a86b3d}.id-context-track i.c04{background:#285f4a}
.id-output-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.id-output-card{border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#faf7f2);padding:14px}.id-output-card strong{display:block;font-size:28px;line-height:1;color:var(--accent)}.id-output-card span{display:block;font-size:12px;font-weight:850;margin-top:8px}.id-output-card small{display:block;font-size:10px;line-height:1.45;color:var(--muted);margin-top:4px}
@media(max-width:1180px){.id-kpi-grid-extended,.id-story-strip,.id-context-lens-grid{grid-template-columns:repeat(2,1fr)}.id-hero-grid,.id-coverage-grid,.id-dim-grid,.id-output-grid{grid-template-columns:1fr}.id-hero-mini-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.id-kpi-grid-extended,.id-story-strip,.id-context-lens-grid,.id-hero-mini-stats{grid-template-columns:1fr}.id-case-heading{display:block}.id-case-badges{justify-content:flex-start;margin-top:8px}.id-coverage-meta{display:block}.id-coverage-meta small{text-align:left;display:block;max-width:none;margin-top:6px}}

/* Doctoral research · interview export/reset manager */
.interview-data-manager{border-top:4px solid var(--accent)}
.interview-export-card{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#faf8f4);padding:16px}
.interview-export-card .card-head{margin-bottom:12px}
.interview-export-card .card-head h3{font-size:17px;margin:4px 0}
.interview-export-card .card-head p{font-size:11px;color:var(--muted);margin:0}
.interview-export-card .page-actions{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:760px){.interview-export-card .page-actions .btn{width:100%}}

/* Doctoral interview protocol · General → Case Review → Cross-case */
.interview-protocol{display:grid;gap:22px;margin-top:18px}.interview-protocol-part{border:1px solid var(--line);border-radius:22px;background:#fbfaf7;padding:18px}.interview-part-head{display:grid;grid-template-columns:42px 1fr auto;gap:13px;align-items:start;margin-bottom:16px}.interview-part-head>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#242724;color:#fff;font-size:15px;font-weight:900}.interview-part-head h2{margin:0 0 5px;font-size:19px;letter-spacing:-.025em}.interview-part-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.55;max-width:760px}.interview-part-head>b{align-self:center;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 9px}.interview-question-scope{display:inline-flex;margin-bottom:5px;font-size:7.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 7px;background:#eee9e2;color:#67615b}.interview-question-scope.case{background:#e8eff6;color:#315f80}.interview-question-scope.cross{background:#e5f0e9;color:#2d6549}.interview-question-scope.custom{background:#f8edd8;color:#7b5b22}.interview-question-exact{white-space:normal}.interview-case-section{border:1px solid #ded7cd;border-radius:18px;background:#fff;margin:12px 0;overflow:hidden}.interview-case-section>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;background:#f5f1eb;list-style:none}.interview-case-section>summary::-webkit-details-marker{display:none}.interview-case-section>summary span{font-size:13px}.interview-case-section>summary span b{color:var(--accent);margin-right:4px}.interview-case-section>summary small{font-size:9px;color:var(--muted)}.interview-case-context{display:grid;grid-template-columns:210px 1fr;gap:16px;padding:15px;border-bottom:1px solid var(--line);background:#fff}.interview-case-image{height:125px;border-radius:13px;overflow:hidden;background:#eee}.interview-case-image img{width:100%;height:100%;object-fit:cover}.interview-case-context>div:last-child>span{font-size:8px;font-weight:900;letter-spacing:.09em;color:var(--accent)}.interview-case-context h3{margin:5px 0 5px;font-size:17px}.interview-case-context p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.interview-case-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.interview-case-section>.interview-console{padding:14px}.interview-protocol-part>.interview-console{margin:0}.qbank-scope{font-style:normal;margin-left:5px;border-radius:999px;padding:3px 6px;font-size:7px;letter-spacing:.05em;background:#eee9e2;color:#655f59}.qbank-scope.scope-case{background:#e8eff6;color:#315f80}.qbank-scope.scope-cross{background:#e5f0e9;color:#2d6549}.qbank-scope.scope-custom{background:#f8edd8;color:#7b5b22}
@media(max-width:800px){.interview-part-head{grid-template-columns:38px 1fr}.interview-part-head>b{grid-column:2;justify-self:start}.interview-case-context{grid-template-columns:1fr}.interview-case-image{height:170px}.interview-case-section>summary{display:block}.interview-case-section>summary small{display:block;margin-top:4px}}

/* clickable website references inside case-specific interview questions */
.interview-inline-case-ref{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:12px;align-items:center;margin:10px 0 12px;padding:10px;border:1px solid #e6dfd4;border-radius:14px;background:#faf7f2}.inline-case-thumb{width:92px;height:64px;border-radius:10px;overflow:hidden;background:#ece7df}.inline-case-thumb img{width:100%;height:100%;object-fit:cover}.inline-case-meta{min-width:0}.inline-case-meta span{display:block;font-size:8px;font-weight:900;letter-spacing:.08em;color:#7a3047;text-transform:uppercase}.inline-case-meta b{display:block;margin-top:4px;font-size:12px;line-height:1.35}.inline-case-meta a{display:block;margin-top:4px;font-size:10px;color:#335e82;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inline-case-meta a:hover{text-decoration:underline}.inline-case-actions{display:flex;flex-direction:column;gap:7px;align-items:flex-end}.inline-case-actions .btn.small{white-space:nowrap}
@media(max-width:900px){.interview-inline-case-ref{grid-template-columns:1fr}.inline-case-thumb{width:100%;height:150px}.inline-case-actions{align-items:flex-start;flex-direction:row;flex-wrap:wrap}}

/* Guaranteed case-media visibility in interview protocols */
.interview-case-context[data-case-media]{grid-template-columns:260px minmax(0,1fr);padding:18px;background:linear-gradient(135deg,#fff,#f8f3ec);border-bottom:1px solid #ddd4c8}.interview-case-context[data-case-media] .interview-case-image{height:158px;box-shadow:0 8px 22px rgba(38,31,25,.08)}.interview-case-url{display:inline-block;margin:2px 0 5px;color:#315f80;font-size:11px;font-weight:750;text-decoration:none;word-break:break-all}.interview-case-url:hover{text-decoration:underline}.interview-case-context[data-case-media] h3{font-size:20px;margin:5px 0 2px}.interview-case-context[data-case-media] p{font-size:11px;max-width:720px}.interview-inline-case-ref[data-case-media]{border-color:#d8cabb;background:#fffaf3;box-shadow:0 5px 16px rgba(40,31,24,.035)}.interview-inline-case-ref[data-case-media] .inline-case-thumb{height:72px}.interview-inline-case-ref[data-case-media] .inline-case-meta b{font-size:13px}.interview-inline-case-ref[data-case-media] .inline-case-meta a{font-weight:750}
.interview-emergency-case{border:1px solid #ddd4c8;border-radius:18px;overflow:hidden;margin:16px 0;background:#fff}.interview-emergency-case>.interview-console{padding:14px;margin:0}
@media(max-width:800px){.interview-case-context[data-case-media]{grid-template-columns:1fr}.interview-case-context[data-case-media] .interview-case-image{height:190px}}

/* Interview protocol integrity: each case always shows media and questions */
.interview-case-block{border:1px solid #ded7cd;border-radius:20px;background:#fff;overflow:hidden;margin:16px 0}.interview-case-block-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;background:#f5f1eb;border-bottom:1px solid #e5ddd3}.interview-case-block-head span{display:block;font-size:8px;font-weight:900;letter-spacing:.1em;color:var(--accent)}.interview-case-block-head h3{margin:4px 0 0;font-size:17px}.interview-case-block-head>b{font-size:10px;color:var(--muted);border:1px solid #ddd4ca;background:#fff;border-radius:999px;padding:6px 9px}.interview-case-block>.interview-case-context{border-bottom:1px solid #e5ddd3}.interview-case-block>.interview-console{margin:0;padding:14px;background:#fbfaf7}.question-case-quickref{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:9px 0 11px;padding:8px 10px;border-radius:10px;background:#f3f6f8;border:1px solid #dfe7ed}.question-case-quickref span{font-size:9px;font-weight:850;color:#344d60}.question-case-quickref a,.question-case-quickref button{font:inherit;font-size:9px;font-weight:850;color:#315f80;background:transparent;border:0;padding:0;cursor:pointer;text-decoration:none}.question-case-quickref a:hover,.question-case-quickref button:hover{text-decoration:underline}.interview-protocol .interview-prompt{display:grid!important;visibility:visible!important;opacity:1!important}
@media(max-width:760px){.interview-case-block-head{display:block}.interview-case-block-head>b{display:inline-block;margin-top:8px}}

/* interview over-recruitment / sample selection */
.sample-decision-select{min-width:190px;max-width:230px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:10px;font-weight:700;color:var(--ink)}
.sample-decision-select:focus{outline:2px solid rgba(109,23,48,.14);border-color:#8d5062}

/* Production concurrency + auto-save */
.participant-sync-state{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 9px;background:#fff;font-size:9px;font-weight:900;letter-spacing:.035em;white-space:nowrap}.participant-sync-state:before{content:"";width:7px;height:7px;border-radius:50%;background:#9b958c}.participant-sync-state[data-state="saved"]{color:#286247;background:#edf7f1;border-color:#cfe5d7}.participant-sync-state[data-state="saved"]:before{background:#2f8057}.participant-sync-state[data-state="saving"]{color:#315f80;background:#eef5fa;border-color:#d4e5f0}.participant-sync-state[data-state="saving"]:before{background:#3a7397;animation:syncPulse 1s infinite}.participant-sync-state[data-state="pending"]{color:#7a5b22;background:#fff7e8;border-color:#eeddb9}.participant-sync-state[data-state="pending"]:before{background:#bb8127}.participant-sync-state[data-state="error"]{color:#8a3340;background:#fff0f1;border-color:#efcfd4}.participant-sync-state[data-state="error"]:before{background:#a93d4d}.server-id-box{display:grid;gap:4px;border:1px solid #cfe1d6;background:#f0f8f3;border-radius:12px;padding:12px 14px}.server-id-box strong{font-size:12px}.server-id-box small{font-size:10px;color:var(--muted);line-height:1.45}@keyframes syncPulse{50%{opacity:.25}}@media(max-width:760px){.participant-sync-state{order:3;width:100%;justify-content:center}.participant-tools{flex-wrap:wrap}}

/* Production auto-sync status */
.auto-sync-chip{pointer-events:none;cursor:default;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.auto-sync-chip[data-state="synced"]{background:#eef7f1;border-color:#cfe5d6;color:#245c3d}.auto-sync-chip[data-state="syncing"]{background:#fff7e8;border-color:#ead8aa;color:#76561d}.auto-sync-chip[data-state="offline"],.auto-sync-chip[data-state="error"]{background:#fff0ee;border-color:#eccac5;color:#812e2a}
