.device-workspace--model-picker, .device-plugin-slot { display: grid; min-width: 0; gap: 0.85rem; } .device-model-catalog { background: var(--station-panel); } .device-model-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr)); gap: 0.85rem; margin-top: 1rem; } .device-model-card { display: grid; min-width: 0; gap: 0.9rem; border-radius: 1rem; background: rgb(255 255 255 / 0.025); padding: 1rem; } .device-model-card > header { display: grid; min-width: 0; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 0.75rem; } .device-model-card__mark { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: 0.7rem; background: rgb(255 255 255 / 0.06); color: var(--nodedc-text-primary); } .device-model-card header span, .device-model-card header h3, .device-model-card > p, .device-model-card dl { margin: 0; } .device-model-card header span { color: var(--nodedc-text-muted); font-size: 0.55rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; } .device-model-card header h3 { margin-top: 0.12rem; color: var(--nodedc-text-primary); font-size: 0.82rem; } .device-model-card > p { color: var(--nodedc-text-secondary); font-size: 0.67rem; line-height: 1.5; } .device-model-card dl { display: grid; gap: 0.42rem; padding: 0.7rem 0; } .device-model-card dl > div { display: flex; justify-content: space-between; gap: 1rem; font-size: 0.61rem; } .device-model-card dt { color: var(--nodedc-text-muted); } .device-model-card dd { margin: 0; color: var(--nodedc-text-secondary); text-align: right; } .device-model-card__capabilities { display: flex; flex-wrap: wrap; gap: 0.38rem; } .device-model-card__capabilities span { border-radius: 999px; background: rgb(255 255 255 / 0.055); color: var(--nodedc-text-secondary); padding: 0.28rem 0.5rem; font-size: 0.54rem; } .device-plugin-slot__bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-radius: 0.9rem; background: rgb(255 255 255 / 0.035); padding: 0.72rem 0.85rem; } .device-plugin-slot__bar > div { display: grid; min-width: 0; gap: 0.12rem; } .device-plugin-slot__bar strong { color: var(--nodedc-text-primary); font-size: 0.74rem; } .device-plugin-slot__bar small { color: var(--nodedc-text-muted); font-size: 0.58rem; } .device-plugin-slot__bar .device-plugin-slot__error { color: rgb(var(--nodedc-danger-rgb)); } .xgrids-k1-plugin { .device-workspace__grid { display: grid; min-width: 0; grid-template-columns: minmax(23rem, 0.78fr) minmax(34rem, 1.22fr); align-items: start; gap: 0.85rem; } .device-workspace__side { display: grid; min-width: 0; gap: 0.85rem; } .connection-panel, .status-panel, .latency-panel, .session-panel { background: var(--station-panel); } .error-banner { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 0.9rem; border-radius: 1rem; background: rgb(255 255 255 / 0.045); color: var(--nodedc-text-primary); padding: 0.85rem 1rem; } .error-banner__dot { width: 0.46rem; height: 0.46rem; align-self: start; margin-top: 0.28rem; border-radius: 50%; background: rgb(var(--nodedc-danger-rgb)); } .error-banner strong, .error-banner p { margin: 0; } .error-banner strong { color: var(--nodedc-text-primary); font-size: 0.76rem; } .error-banner p { margin-top: 0.2rem; color: var(--nodedc-text-secondary); font-size: 0.68rem; line-height: 1.45; } .error-banner__actions { display: flex; align-items: center; gap: 0.35rem; } .wizard-list { display: grid; margin-top: 1.4rem; } .wizard-step { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); gap: 0.75rem; } .wizard-step__rail { position: relative; display: flex; justify-content: center; } .wizard-step__rail::after { position: absolute; top: 2rem; bottom: 0; left: 50%; width: 1px; background: var(--station-hairline); content: ""; } .wizard-step:last-child .wizard-step__rail::after { display: none; } .wizard-step__rail span { position: relative; z-index: 1; display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; background: #27272a; color: var(--nodedc-text-secondary); font-size: 0.59rem; font-weight: 800; } .wizard-step__content { min-width: 0; padding: 0.08rem 0 1.5rem; } .wizard-step:last-child .wizard-step__content { padding-bottom: 0; } .wizard-step__content > header { display: flex; min-height: 2rem; align-items: center; justify-content: space-between; gap: 0.7rem; margin-bottom: 0.75rem; } .wizard-step__content h3 { margin: 0; font-size: 0.8rem; font-weight: 710; } .step-copy, .safety-note, .live-instruction { margin: 0 0 0.72rem; color: var(--nodedc-text-muted); font-size: 0.65rem; line-height: 1.48; } .safety-note, .live-instruction { margin: 0.7rem 0 0; } .device-list { display: grid; max-height: 20rem; gap: 0.48rem; margin-top: 0.72rem; overflow-y: auto; padding-right: 0.2rem; } .device-row { display: grid; gap: 0.62rem; border-radius: 0.95rem; background: rgb(255 255 255 / 0.035); padding: 0.72rem; } .device-row[data-selected="true"] { background: rgb(255 255 255 / 0.065); box-shadow: none; } .device-row__identity, .device-row__action { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 0.65rem; } .device-row__identity { justify-content: flex-start; } .device-row__identity > div { display: grid; min-width: 0; gap: 0.2rem; } .device-row__name { display: flex; min-width: 0; align-items: center; gap: 0.42rem; } .device-row__name small { flex: 0 0 auto; color: var(--nodedc-text-muted); font-size: 0.47rem; font-weight: 750; letter-spacing: 0.04em; text-transform: uppercase; } .device-row__identity strong { overflow: hidden; font-size: 0.69rem; text-overflow: ellipsis; white-space: nowrap; } .device-row code, .detail-row code { overflow: hidden; color: var(--nodedc-text-muted); font-size: 0.58rem; text-overflow: ellipsis; white-space: nowrap; } .device-row__signal { width: 0.58rem; height: 0.58rem; flex: 0 0 0.58rem; border-radius: 50%; background: var(--nodedc-text-muted); } .device-row[data-compatible="true"] .device-row__signal { background: rgb(var(--nodedc-success-rgb)); } .device-row__action > span { color: var(--nodedc-text-muted); font-size: 0.62rem; } .empty-device-list { border-radius: 0.95rem; background: rgb(255 255 255 / 0.025); color: var(--nodedc-text-muted); padding: 0.9rem; font-size: 0.65rem; line-height: 1.45; } .field-stack, .session-form { display: grid; gap: 0.85rem; } .connection-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0.72rem 0; border-radius: 0.85rem; background: rgb(255 255 255 / 0.03); padding: 0.62rem 0.75rem; font-size: 0.65rem; } .connection-summary span { color: var(--nodedc-text-muted); } .connection-summary strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .session-panel > .nodedc-segmented { margin-top: 1.2rem; } .session-form { margin-top: 1rem; } .session-form--replay { grid-template-columns: minmax(0, 1.55fr) minmax(8rem, 0.45fr); } .session-form--replay > :first-child { grid-column: 1 / -1; } .session-form--replay > .nodedc-button { align-self: end; } .session-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding-top: 0.9rem; } .session-footer p { max-width: 30rem; margin: 0; color: var(--nodedc-text-muted); font-size: 0.62rem; line-height: 1.45; } .diagnostics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem; } .detail-list { display: grid; margin: 0.9rem 0 0; } .detail-row { display: grid; min-width: 0; grid-template-columns: minmax(7rem, 0.72fr) minmax(0, 1.28fr); gap: 1rem; padding: 0.7rem 0; } .detail-row dt, .detail-row dd { min-width: 0; margin: 0; font-size: 0.65rem; } .detail-row dt { color: var(--nodedc-text-muted); } .detail-row dd { overflow: hidden; color: var(--nodedc-text-secondary); text-align: right; text-overflow: ellipsis; white-space: nowrap; } .inline-state { display: inline-flex; align-items: center; gap: 0.35rem; } .inline-state::before { width: 0.4rem; height: 0.4rem; border-radius: 50%; background: var(--nodedc-text-muted); content: ""; } .inline-state[data-state="open"]::before { background: rgb(var(--nodedc-success-rgb)); } .inline-state[data-state="error"]::before, .inline-state[data-state="closed"]::before { background: rgb(var(--nodedc-danger-rgb)); } .latency-now { color: var(--nodedc-text-primary); font-size: 1.2rem; font-weight: 660; letter-spacing: -0.04em; } .latency-now span { color: var(--nodedc-text-muted); font-size: 0.61rem; letter-spacing: 0; } .latency-trace { display: flex; height: 7rem; align-items: end; gap: 0.2rem; margin-top: 1rem; border-radius: 0.85rem; background: rgb(255 255 255 / 0.018); padding: 0.7rem; } .latency-trace span { min-width: 0.16rem; flex: 1 1 0; border-radius: 999px 999px 0.12rem 0.12rem; background: var(--nodedc-text-primary); } .latency-trace p { align-self: center; margin: auto; color: var(--nodedc-text-muted); font-size: 0.62rem; line-height: 1.45; text-align: center; } .latency-legend { display: flex; justify-content: space-between; margin-top: 0.38rem; color: var(--nodedc-text-muted); font-size: 0.54rem; } }