// ──────────────────────────────────────────────────────────────── // Widget · Light-Detail (Center-Widget) · aus j3-landing // ──────────────────────────────────────────────────────────────── .light-detail { &__glyph { flex: 0 0 auto; display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--line); border-radius: var(--r-md); background: color-mix(in srgb, var(--bg) 60%, transparent); } &__bulb { width: 16px; height: 16px; border-radius: 50%; background: var(--faint); transition: background var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease); } &.is-on &__bulb { background: var(--ember); box-shadow: 0 0 14px var(--ember-soft); } &.is-offline &__bulb { background: var(--off); box-shadow: 0 0 14px color-mix(in srgb, var(--off) 50%, transparent); } &__state { margin-left: auto; font-size: var(--fs-sm); letter-spacing: .14em; color: var(--accent); } &.is-off &__state { color: var(--muted); } &.is-offline &__state { color: var(--off); } &__power { display: flex; align-items: center; gap: 10px; .light-controller__dot { width: 10px; height: 10px; } } &__power-label { flex: 1 1 auto; font-size: var(--fs-sm); letter-spacing: .06em; color: var(--fg); } &.is-on &__power .light-controller__dot { background: var(--ember); box-shadow: 0 0 10px var(--ember-soft); } &.is-off &__power .light-controller__dot { background: var(--faint); } &.is-offline &__power .light-controller__dot { background: var(--off); box-shadow: 0 0 10px color-mix(in srgb, var(--off) 50%, transparent); } } .light-controller__modes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; } .light-controller__mode { padding: 9px 6px; font: inherit; font-size: var(--fs-xs); letter-spacing: .12em; text-transform: uppercase; color: var(--dim); background: color-mix(in srgb, var(--bg) 50%, transparent); border: 1px solid var(--line); border-radius: var(--r-sm); cursor: pointer; transition: color var(--dur-base) var(--ease), background var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease); &:hover { color: var(--fg); border-color: color-mix(in srgb, var(--accent) 35%, transparent); } &.is-active { color: var(--fg); background: color-mix(in srgb, var(--ember) 16%, transparent); border-color: color-mix(in srgb, var(--ember) 55%, transparent); } } .light-detail.is-offline .light-controller__mode { opacity: .5; pointer-events: none; } .light-controller__slider--wide { grid-template-columns: 74px 1fr 44px; } .light-detail .light-controller__slider input[type="range"] { height: 4px; } .light-detail.is-off .light-controller__slider, .light-detail.is-offline .light-controller__slider { opacity: .55; } .light-controller__colour { display: grid; grid-template-columns: 52px 1fr; gap: 14px; align-items: start; } .light-controller__colour-preview { width: 52px; height: 52px; border: 1px solid var(--line); border-radius: var(--r-md); background: #000; box-shadow: inset 0 0 18px color-mix(in srgb, #000 50%, transparent); transition: background var(--dur-base) var(--ease); } .light-controller__colour-sliders { display: flex; flex-direction: column; gap: 10px; } .light-detail__raw { font-size: .6563rem; letter-spacing: .04em; color: var(--muted); word-break: break-word; }