Refactor lab 1 for Netron and local confidence views

This commit is contained in:
2026-04-16 11:15:39 -06:00
parent a97c8a7694
commit e4621ca65b
20 changed files with 1634 additions and 280 deletions
+315
View File
@@ -1747,3 +1747,318 @@ ol {
height: 18rem;
}
}
.lab-content [data-lab1-confidence],
.lab-content [data-lab1-netron-panel],
.lab-content [data-tokenizer-playground] {
display: block;
margin: 1.75rem 0;
}
.lab-content .lab-screenshot-placeholder {
margin: 1.25rem 0;
border: 1px dashed #b8c6d6;
border-radius: 1rem;
background:
linear-gradient(135deg, rgba(0, 78, 120, 0.04), rgba(248, 156, 39, 0.08));
padding: 1rem 1.1rem;
color: #345;
}
.lab-content .lab-screenshot-placeholder strong {
display: block;
margin-bottom: 0.35rem;
color: #004e78;
}
.lab1-netron-panel,
.lab-iframe-embed,
.lab1-confidence {
border: 1px solid #d7e2ee;
border-radius: 1.25rem;
background: linear-gradient(180deg, #fff 0%, #f7fafc 100%);
box-shadow: 0 18px 40px -34px rgba(0, 78, 120, 0.55);
padding: 1.35rem;
}
.lab1-netron-panel h3,
.lab-iframe-embed h3,
.lab1-confidence h3 {
margin: 0;
color: #12344d;
}
.lab1-netron-panel__eyebrow,
.lab-iframe-embed__eyebrow,
.lab1-confidence__eyebrow {
margin: 0 0 0.35rem;
color: #0f5c8b;
font-size: 0.8rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.lab1-netron-panel__lede,
.lab-iframe-embed__lede,
.lab1-confidence__lede {
margin: 0.55rem 0 0;
color: #53687b;
}
.lab1-netron-panel__actions,
.lab-iframe-embed__actions {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.9rem;
margin-top: 1rem;
flex-wrap: wrap;
}
.lab1-netron-panel__primary,
.lab-iframe-embed__link,
.lab1-confidence__composer button,
.lab1-confidence__prompt-chip {
border-radius: 999px;
border: 1px solid #0f5c8b;
background: #0f5c8b;
color: #fff;
cursor: pointer;
font: inherit;
font-weight: 600;
padding: 0.68rem 1.05rem;
text-decoration: none;
transition:
transform 120ms ease,
box-shadow 120ms ease,
background-color 120ms ease;
}
.lab1-netron-panel__primary:hover,
.lab-iframe-embed__link:hover,
.lab1-confidence__composer button:hover,
.lab1-confidence__prompt-chip:hover {
transform: translateY(-1px);
box-shadow: 0 12px 28px -22px rgba(15, 92, 139, 0.85);
}
.lab1-netron-panel__note,
.lab-iframe-embed__status,
.lab-iframe-embed__fallback {
color: #63788d;
font-size: 0.92rem;
}
.lab-iframe-embed__frame-shell {
margin-top: 1rem;
overflow: hidden;
border: 1px solid #d7e2ee;
border-radius: 1rem;
background: #fff;
}
.lab-iframe-embed__frame {
display: block;
width: 100%;
min-height: 560px;
border: 0;
background: #f8fafc;
}
.lab1-confidence__header {
display: grid;
gap: 0.2rem;
}
.lab1-confidence__prompt-row {
display: flex;
flex-wrap: wrap;
gap: 0.65rem;
margin-top: 1rem;
}
.lab1-confidence__prompt-chip {
background: #f3f8fc;
border-color: #d1dfeb;
color: #0f5c8b;
}
.lab1-confidence__transcript {
display: grid;
gap: 1rem;
margin-top: 1rem;
}
.lab1-confidence__empty,
.lab1-confidence__message {
border: 1px solid #d7e2ee;
border-radius: 1rem;
background: #fff;
padding: 1rem;
}
.lab1-confidence__message--user {
background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
}
.lab1-confidence__message-meta {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.75rem;
color: #456;
font-size: 0.92rem;
font-weight: 600;
}
.lab1-confidence__message-meta code {
color: #0f5c8b;
}
.lab1-confidence__message-body {
margin: 0.75rem 0 0;
white-space: pre-wrap;
}
.lab1-confidence__token-stream {
margin-top: 0.85rem;
padding: 0.9rem;
border-radius: 0.95rem;
background: #f8fbfd;
border: 1px solid #e0e8f0;
line-height: 2;
white-space: pre-wrap;
}
.lab1-confidence__token {
position: relative;
border-radius: 0.42rem;
padding: 0.12rem 0.08rem;
transition: filter 120ms ease;
}
.lab1-confidence__token:hover {
filter: saturate(1.05);
}
.lab1-confidence__token--very-high {
background: rgba(88, 185, 102, 0.3);
}
.lab1-confidence__token--high {
background: rgba(149, 209, 102, 0.26);
}
.lab1-confidence__token--medium {
background: rgba(242, 220, 96, 0.26);
}
.lab1-confidence__token--low {
background: rgba(246, 171, 82, 0.24);
}
.lab1-confidence__token--very-low {
background: rgba(233, 117, 89, 0.24);
}
.lab1-confidence__tooltip {
position: absolute;
left: 0;
top: calc(100% + 0.45rem);
z-index: 5;
display: none;
min-width: 180px;
max-width: 260px;
border: 1px solid #d7e2ee;
border-radius: 0.85rem;
background: rgba(255, 255, 255, 0.98);
box-shadow: 0 18px 38px -26px rgba(17, 44, 73, 0.7);
color: #24384c;
padding: 0.7rem 0.8rem;
white-space: normal;
}
.lab1-confidence__token:hover .lab1-confidence__tooltip,
.lab1-confidence__token:focus-visible .lab1-confidence__tooltip {
display: block;
}
.lab1-confidence__tooltip strong {
display: block;
color: #0f5c8b;
}
.lab1-confidence__tooltip-list {
display: grid;
gap: 0.22rem;
margin-top: 0.35rem;
font-size: 0.88rem;
}
.lab1-confidence__composer {
display: grid;
gap: 0.7rem;
margin-top: 1rem;
}
.lab1-confidence__composer-label {
color: #12344d;
font-weight: 700;
}
.lab1-confidence__composer textarea {
width: 100%;
min-height: 110px;
border: 1px solid #cedbe8;
border-radius: 1rem;
padding: 0.95rem 1rem;
font: inherit;
resize: vertical;
}
.lab1-confidence__composer textarea:focus {
outline: 2px solid rgba(15, 92, 139, 0.18);
outline-offset: 1px;
}
.lab1-confidence__composer-actions {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
flex-wrap: wrap;
}
.lab1-confidence__composer-state {
display: grid;
gap: 0.18rem;
}
.lab1-confidence__composer-state span {
color: #63788d;
font-size: 0.88rem;
}
.lab1-confidence__composer-state strong {
color: #12344d;
}
.lab1-confidence__message-warning,
.lab1-confidence__error {
color: #b54731;
}
@media (max-width: 768px) {
.lab-iframe-embed__actions,
.lab1-confidence__composer-actions,
.lab1-netron-panel__actions,
.lab1-confidence__message-meta {
align-items: stretch;
flex-direction: column;
}
.lab-iframe-embed__frame {
min-height: 440px;
}
}