diff --git a/docs/mockup_cabinet.html b/docs/mockup_cabinet.html index 18ef344..16a1054 100644 --- a/docs/mockup_cabinet.html +++ b/docs/mockup_cabinet.html @@ -201,6 +201,41 @@ body{font-family:'Inter',sans-serif;background:var(--body-bg);color:var(--text); .af-off{background:var(--border);width:18%} @keyframes run{0%{width:30%}50%{width:70%}100%{width:30%}} +/* Stage 4 — Opus analysis */ +.opus-banner{background:linear-gradient(135deg,#0F0F1A 0%,#1a1a3e 50%,#0d2818 100%);border-radius:14px;padding:18px 22px;display:flex;align-items:center;gap:16px;margin-bottom:18px;flex-shrink:0;position:relative;overflow:hidden} +.opus-banner::before{content:'';position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(16,185,129,.15) 0%,transparent 70%);pointer-events:none} +.opus-badge{display:flex;align-items:center;gap:8px;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.25);border-radius:10px;padding:8px 14px;flex-shrink:0} +.opus-badge-ic{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--dark),var(--primary));display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-weight:900;font-size:11px;color:#fff;flex-shrink:0} +.opus-badge-name{font-size:13px;font-weight:800;color:#fff;font-family:'Montserrat',sans-serif} +.opus-badge-ver{font-size:10px;color:rgba(255,255,255,.4);display:block;margin-top:1px} +.opus-status{flex:1} +.opus-status-t{font-size:14px;font-weight:700;color:#fff;margin-bottom:3px} +.opus-status-d{font-size:12px;color:rgba(255,255,255,.45);line-height:1.4} +.opus-pulse{width:10px;height:10px;border-radius:50%;background:var(--mid);box-shadow:0 0 8px var(--mid);animation:blink 1.4s ease-in-out infinite;flex-shrink:0} + +.ctx-pack{background:var(--white);border:1.5px solid var(--border);border-radius:13px;padding:16px 18px;margin-bottom:14px;flex-shrink:0} +.ctx-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#9CA3AF;margin-bottom:10px} +.ctx-items{display:flex;flex-direction:column;gap:7px} +.ctx-item{display:flex;align-items:center;gap:10px;font-size:13px;color:#374151} +.ctx-ic{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0} +.ctx-ic.done{background:var(--light)} +.ctx-name{flex:1;font-weight:500} +.ctx-meta{font-size:11px;color:#9CA3AF} +.ctx-check{color:var(--primary);font-weight:700;font-size:13px;flex-shrink:0} + +.pain-matrix{display:flex;flex-direction:column;gap:8px;margin-bottom:14px} +.pain-item{display:flex;align-items:flex-start;gap:10px;background:var(--white);border:1.5px solid var(--border);border-radius:11px;padding:12px 14px;flex-shrink:0} +.pain-sev{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:6px;flex-shrink:0;margin-top:1px;white-space:nowrap} +.sev-crit{background:#FEF2F2;color:#DC2626;border:1px solid #FECACA} +.sev-high{background:#FEF3C7;color:#92400E;border:1px solid #FDE68A} +.sev-med{background:#EFF6FF;color:#1E40AF;border:1px solid #BFDBFE} +.pain-body{flex:1} +.pain-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:2px} +.pain-desc{font-size:12px;color:var(--muted);line-height:1.4} +.pain-src{font-size:10px;color:#9CA3AF;margin-top:4px;display:flex;align-items:center;gap:4px} +.pain-src-tag{background:var(--subtle);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-weight:600} +.pain-impact{font-size:11px;font-weight:700;color:#DC2626;flex-shrink:0;white-space:nowrap;margin-top:1px} + /* Discussion */ .discuss{background:linear-gradient(135deg,#022C22,var(--dark));border-radius:13px;padding:18px;color:#fff;margin-bottom:14px;display:flex;align-items:center;gap:14px;flex-shrink:0} .discuss-ic{font-size:26px;flex-shrink:0} @@ -969,24 +1004,137 @@ body{font-family:'Inter',sans-serif;background:var(--body-bg);color:var(--text);