.power-control {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: var(--soft);
    width: 100%;
    padding: 55px 0
}

.power-control-inner {
    width: calc(100% - 80px);
    max-width: 1800px;
    margin: auto
}

.power-title {
    justify-content: space-between;
    align-items: flex-end;
    gap: 25px;
    margin-bottom: 30px;
    display: flex
}

.power-title>p {
    font-size: 13px
}

.power-tabs {
    border: 1px solid var(--border);
    background: var(--card) !important;
    gap: 6px !important;
    width: 100% !important;
    height: auto !important;
    padding: 6px !important
}

.power-tabs button {
    color: var(--muted);
    border-radius: 6px !important;
    min-height: 48px !important;
    padding: 14px 18px !important;
    font-size: 15px !important
}

.power-tabs button[data-active] {
    background: var(--brand-orange) !important;
    color: #201005 !important
}

.power-mode-summary {
    justify-content: space-between;
    align-items: center;
    gap: 35px;
    margin: 28px 0;
    display: flex
}

.power-mode-summary h3 {
    letter-spacing: -.7px;
    font-size: 28px
}

.power-mode-summary p {
    max-width: 800px;
    margin-top: 10px;
    font-size: 15px
}

.power-setpoint {
    text-align: right;
    min-width: 170px
}

.power-setpoint>span {
    font: 11px var(--font-geist-mono), monospace;
    color: var(--muted);
    display: block
}

.power-setpoint strong {
    color: var(--primary);
    margin-top: 5px;
    font-size: 40px;
    font-weight: 500;
    display: block
}

.power-setpoint small {
    font-size: 19px
}

.power-demo-grid {
    grid-template-columns: minmax(0, 2.5fr) minmax(260px, 1fr);
    align-items: stretch;
    gap: 24px;
    display: grid
}

.power-network {
    border: 1px solid var(--border);
    background: var(--background);
    border-radius: 12px;
    align-items: center;
    min-width: 0;
    display: flex
}

.power-network>svg {
    width: 100%;
    height: auto;
    display: block
}

.power-track {
    fill: none;
    stroke: var(--border);
    stroke-width: 3px
}

.power-current {
    fill: none;
    stroke-width: 3px;
    stroke-dasharray: 9 14;
    animation: 2s linear infinite power-travel
}

.solar-current {
    stroke: #fd8a32
}

.dg-current {
    stroke: #f4ce4a
}

.grid-current {
    stroke: #00afef
}

.load-current {
    stroke: #9d89ff
}

.flow-node rect {
    fill: var(--card);
    stroke: var(--border)
}

.flow-node.disabled {
    opacity: .5
}

.flow-label {
    fill: var(--foreground);
    font-size: 18px;
    font-family: var(--font-geist-sans), Arial, sans-serif
}

.flow-value {
    font-size: 26px;
    font-weight: 600;
    font-family: var(--font-geist-sans), Arial, sans-serif
}

.flow-sub {
    fill: var(--muted);
    font-size: 12px;
    font-family: var(--font-geist-sans), Arial, sans-serif
}

.flow-controller rect {
    fill: var(--soft);
    stroke: #00afef
}

.flow-controller>svg {
    stroke: #00afef
}

.controller-link {
    stroke: #00afef;
    stroke-dasharray: 3 5;
    fill: none
}

.power-analysis {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 12px;
    padding: 24px
}

.power-analysis h4 {
    margin: 0 0 20px;
    font-size: 16px;
    font-weight: 500
}

.dispatch-row {
    grid-template-columns: 1fr auto;
    gap: 9px;
    margin-bottom: 19px;
    font-size: 13px;
    display: grid
}

.dispatch-row>span {
    color: var(--muted)
}

.dispatch-row>strong {
    font-weight: 500
}

.dispatch-row>div {
    background: var(--border);
    border-radius: 4px;
    grid-column: 1/-1;
    height: 6px;
    overflow: hidden
}

.dispatch-row i {
    height: 100%;
    transition: width .65s;
    display: block
}

.load-share,
.export-schedule,
.export-status {
    border-top: 1px solid var(--border);
    margin-top: 24px;
    padding-top: 20px
}

.load-share>div {
    border-radius: 5px;
    display: flex;
    overflow: hidden
}

.load-share>div span {
    color: #201005;
    text-align: center;
    background: #fd8a32;
    padding: 10px 5px;
    font-size: 12px
}

.load-share>div span+span {
    background: #f4ce4a
}

.export-status>span {
    color: var(--primary);
    font-size: 14px
}

.export-status strong {
    margin-top: 10px;
    font-size: 25px;
    font-weight: 500;
    display: block
}

.export-schedule>svg {
    width: 100%;
    display: block
}

.schedule-times {
    color: var(--muted);
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    font-size: 10px;
    display: grid
}

.schedule-times .selected {
    color: var(--primary)
}

@keyframes power-travel {
    to {
        stroke-dashoffset: -92px
    }
}

@media (width<=1000px) {
    .power-demo-grid {
        grid-template-columns: 1fr
    }

    .power-title {
        flex-direction: column;
        align-items: flex-start
    }

    .power-analysis {
        display: block
    }

    /* Scale the diagram to fit instead of scrolling sideways */
    .power-network>svg {
        min-width: 0
    }
}

@media (width<=640px) {
    .power-control-inner {
        width: calc(100% - 32px)
    }

    .power-tabs {
        grid-template-columns: 1fr 1fr;
        display: grid !important
    }

    .power-tabs button {
        padding: 12px 8px !important;
        font-size: 13px !important
    }

    .power-mode-summary {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px
    }

    .power-mode-summary h3 {
        font-size: 24px
    }

    .power-setpoint {
        text-align: left
    }

    .power-setpoint strong {
        font-size: 30px
    }

    .power-control {
        padding: 40px 0
    }
}

@media (prefers-reduced-motion:reduce) {
    .power-current {
        animation: none
    }

    .dispatch-row i {
        transition: none
    }
}

.power-control {
    padding: 28px 0;
    scroll-margin-top: 12px
}

.power-control-inner {
    width: calc(100% - 64px)
}

.power-title {
    gap: 20px;
    margin-bottom: 16px
}

.power-title h2 {
    letter-spacing: -1.4px;
    margin: 8px 0 0;
    font-size: clamp(28px, 2.7vw, 42px);
    line-height: 1.12
}

.power-title .eyebrow {
    margin: 0;
    font-size: 11px
}

.power-title>p {
    margin: 0;
    font-size: 12px;
    line-height: 1.6
}

.power-tabs {
    padding: 4px !important;
    display: flex !important
}

.power-tabs button {
    min-height: 38px !important;
    padding: 9px 12px !important;
    font-size: 14px !important
}

.power-mode-summary {
    gap: 20px;
    min-height: 68px;
    margin: 12px 0
}

.power-mode-summary h3 {
    font-size: 22px
}

.power-mode-summary p {
    max-width: 850px;
    margin-top: 5px;
    font-size: 13px;
    line-height: 1.5
}

.power-setpoint strong {
    margin-top: 2px;
    font-size: 30px
}

.power-demo-grid {
    grid-template-columns: minmax(0, 3fr) minmax(250px, 1fr);
    gap: 16px
}

.power-network>svg {
    width: 100%;
    min-width: 0;
    height: clamp(250px, 38vh, 330px)
}

.power-analysis {
    padding: 16px
}

.power-analysis h4 {
    margin-bottom: 12px;
    font-size: 14px
}

.dispatch-row {
    gap: 6px;
    margin-bottom: 11px;
    font-size: 12px
}

.load-share,
.export-schedule,
.export-status {
    margin-top: 12px;
    padding-top: 12px
}

.load-share>div span {
    padding: 7px 3px;
    font-size: 11px
}

.power-analysis p {
    margin-top: 8px;
    font-size: 11px;
    line-height: 1.45
}

.export-schedule>svg {
    height: 72px
}

.power-current {
    stroke-width: 4px;
    stroke-linecap: round;
    animation: 1.4s linear infinite power-travel
}

@media (width>=801px) {
    .power-title {
        flex-direction: row;
        align-items: flex-end
    }

    .power-demo-grid {
        grid-template-columns: minmax(0, 3fr) minmax(250px, 1fr)
    }
}

@media (width<=800px) {
    .power-demo-grid {
        grid-template-columns: 1fr
    }

    .power-network>svg {
        min-width: 0;
        height: auto
    }

    .power-title {
        flex-direction: column;
        align-items: flex-start
    }

    .power-analysis {
        padding: 14px
    }

    .power-control-inner {
        width: calc(100% - 32px)
    }
}

@media (width<=640px) {
    .power-tabs {
        display: grid !important
    }

    .power-mode-summary {
        flex-direction: row
    }

    .power-setpoint {
        text-align: right;
        min-width: 100px
    }

    .power-mode-summary h3 {
        font-size: 19px
    }

    .power-control {
        padding: 24px 0
    }
}

@media (prefers-reduced-motion:reduce) {
    .power-current {
        animation: none
    }
}

.dashboard-range {
    scroll-margin-top: 24px
}

.dashboard-range-heading {
    text-align: center;
    max-width: 850px;
    margin: 0 auto 28px
}

.dashboard-range-heading>p:last-child {
    margin-top: 20px;
    font-size: 16px
}

.dashboard-benefits {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px 35px;
    margin: 30px 0 34px;
    padding: 20px;
    display: flex
}

.dashboard-benefits>span {
    color: var(--muted);
    align-items: center;
    gap: 10px;
    font-size: 14px;
    display: flex
}

.dashboard-benefits svg {
    width: 20px;
    color: var(--brand-orange)
}

.dashboard-range-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    display: grid
}

.dashboard-range-grid>article {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 16px;
    flex-direction: column;
    display: flex;
    overflow: hidden
}

.dashboard-mini {
    border: 1px solid var(--border);
    background: var(--background);
    color: var(--brand-blue);
    border-radius: 10px;
    margin: 16px 16px 0;
    overflow: hidden
}

.dashboard-mini-top {
    border-bottom: 1px solid var(--border);
    align-items: center;
    gap: 8px;
    padding: 12px;
    display: flex
}

.dashboard-mini-top>svg {
    width: 17px;
    height: 17px
}

.dashboard-mini-top>span {
    letter-spacing: .5px;
    color: var(--muted);
    font: 16px monospace
}

.dashboard-mini-top>i {
    background: #44ce9c;
    border-radius: 50%;
    width: 5px;
    height: 5px;
    margin-left: auto
}

.dashboard-mini-body {
    gap: 20px;
    height: 110px;
    padding: 20px;
    display: flex
}

.dashboard-mini-symbol {
    flex-direction: column;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: 90px;
    display: flex
}

.dashboard-mini-symbol>svg {
    stroke-width: 1.5px;
    width: 35px;
    height: 35px
}

.dashboard-mini-symbol>span {
    color: var(--muted);
    font: 8px monospace
}

.dashboard-mini-chart {
    border-bottom: 1px solid var(--border);
    flex: 1;
    align-items: flex-end;
    gap: 7px;
    display: flex
}

.dashboard-mini-chart i {
    opacity: .65;
    transform-origin: bottom;
    background: currentColor;
    border-radius: 3px 3px 0 0;
    flex: 1;
    animation: 4s ease-in-out infinite alternate dashboard-bars
}

.dashboard-mini-chart i:nth-child(3n) {
    background: var(--brand-orange);
    opacity: .9
}

.dashboard-mini-bottom {
    border-top: 1px solid var(--border);
    color: var(--muted);
    justify-content: space-around;
    gap: 5px;
    padding: 10px 6px;
    display: flex
}

.dashboard-mini-bottom span {
    align-items: center;
    gap: 5px;
    font: 12px monospace;
    display: flex
}

.dashboard-mini-bottom svg {
    width: 12px;
    height: 12px;
    color: var(--brand-orange)
}

.dashboard-range-copy {
    flex-direction: column;
    flex: 1;
    display: flex;
    padding: 24px
}

.dashboard-range-copy h3 {
    letter-spacing: -.6px;
    margin: 0 0 12px;
    font-size: 28px
}

.dashboard-range-copy>p {
    min-height: 68px;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.6
}

.dashboard-range-copy ul {
    border-top: 1px solid var(--border);
    margin: 16px 0 0;
    padding: 16px 0 0;
    list-style: none
}

.dashboard-range-copy li {
    color: var(--muted);
    margin: 9px 0;
    padding-left: 15px;
    font-size: 13px;
    line-height: 1.6;
    position: relative
}

.dashboard-range-copy li:before {
    content: "";
    background: var(--brand-orange);
    border-radius: 50%;
    width: 4px;
    height: 4px;
    position: absolute;
    top: 8px;
    left: 0
}

.dashboard-range-link {
    justify-content: center;
    margin-top: 30px;
    display: flex
}

.dashboard-mini-1,
.dashboard-mini-4 {
    color: var(--brand-orange)
}

@keyframes dashboard-bars {
    0% {
        transform: scaleY(.78)
    }

    to {
        transform: scaleY(1)
    }
}

@media (width<=1000px) {
    .dashboard-range-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (width<=640px) {
    .dashboard-range-grid {
        grid-template-columns: 1fr
    }

    .dashboard-range-copy>p {
        min-height: 0
    }

    .dashboard-benefits {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px
    }

    .dashboard-range-copy {
        padding: 20px
    }
}

@media (prefers-reduced-motion:reduce) {
    .dashboard-mini-chart i {
        animation: none
    }
}

.dashboard-visual {
    height: 155px;
    padding: 12px 16px;
    position: relative
}

.visual-ai {
    color: var(--brand-orange);
    align-items: center;
    gap: 5px;
    margin-bottom: 9px;
    font: 9px monospace;
    display: flex
}

.visual-ai svg {
    width: 14px;
    height: 14px
}

.visual-gauges {
    justify-content: space-around;
    gap: 10px;
    display: flex
}

.visual-gauges>div {
    text-align: center;
    flex: 1;
    position: relative
}

.visual-gauges svg {
    width: 100%;
    height: 60px
}

.gauge-track {
    stroke: var(--border);
    stroke-width: 5px;
    fill: none
}

.gauge-live {
    stroke: var(--brand-blue);
    stroke-width: 5px;
    fill: none;
    stroke-dasharray: 75 105;
    stroke-linecap: round;
    animation: 4s ease-in-out infinite alternate gauge-breathe
}

.gauge-1 {
    stroke: var(--brand-orange);
    stroke-dasharray: 55 105
}

.gauge-2 {
    stroke: #35cfa2;
    stroke-dasharray: 90 105
}

.visual-gauges>div>svg+svg {
    width: 18px;
    height: 18px;
    position: absolute;
    top: 35px;
    left: calc(50% - 9px)
}

.visual-gauges small {
    color: var(--muted);
    margin-top: 8px;
    font: 8px monospace;
    display: block
}

.analysis-lines {
    width: 100%;
    height: 65px
}

.analysis-lines path {
    fill: none;
    stroke: var(--brand-blue);
    stroke-width: 2px
}

.analysis-lines path:first-child {
    stroke: var(--border);
    stroke-width: 1px
}

.analysis-lines path:last-child {
    stroke: var(--brand-orange);
    stroke-dasharray: 4 4
}

.visual-tools {
    justify-content: space-around;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    display: flex
}

.visual-tools svg {
    width: 15px;
    height: 15px
}

.visual-tools span {
    color: var(--muted);
    align-items: center;
    gap: 4px;
    font: 7px monospace;
    display: flex
}

.plant-sources {
    justify-content: space-around;
    margin-bottom: 16px;
    display: flex
}

.plant-sources span {
    align-items: center;
    gap: 5px;
    font: 9px monospace;
    display: flex
}

.plant-sources svg {
    width: 18px;
    height: 18px
}

.plant-devices {
    justify-content: space-between;
    gap: 7px;
    display: flex
}

.plant-devices span {
    flex-direction: column;
    align-items: center;
    gap: 5px;
    display: flex
}

.plant-devices svg {
    width: 22px;
    height: 22px
}

.plant-devices small {
    color: var(--muted);
    font: 7px monospace
}

.systems-hub {
    justify-content: center;
    align-items: center;
    gap: 9px;
    margin-bottom: 13px;
    font: 10px monospace;
    display: flex
}

.systems-hub svg {
    width: 25px;
    height: 25px
}

.system-tiles {
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    display: grid
}

.system-tiles>span {
    border: 1px solid var(--border);
    color: var(--muted);
    border-radius: 5px;
    justify-content: center;
    align-items: center;
    gap: 6px;
    padding: 8px;
    font: 8px monospace;
    display: flex
}

.system-tiles svg {
    width: 15px;
    height: 15px;
    color: var(--brand-orange)
}

.system-tiles i,
.company-visual i {
    background: #35cfa2;
    border-radius: 50%;
    width: 4px;
    height: 4px
}

.project-folders {
    justify-content: space-around;
    align-items: center;
    gap: 15px;
    height: 100%;
    display: flex
}

.project-folders>div {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    display: flex
}

.project-folders>div>svg {
    width: 40px;
    height: 40px
}

.project-folders strong {
    font: 9px monospace
}

.project-folders span {
    gap: 8px;
    display: flex
}

.project-folders span svg {
    width: 16px;
    height: 16px;
    color: var(--brand-blue)
}

.company-visual {
    flex-direction: column;
    align-items: center;
    gap: 9px;
    display: flex
}

.company-visual>svg {
    width: 30px;
    height: 30px
}

.company-visual strong {
    font: 9px monospace
}

.company-visual>div {
    grid-template-columns: repeat(4, 1fr);
    gap: 7px 20px;
    display: grid
}

.company-visual>div>span {
    align-items: center;
    gap: 5px;
    display: flex
}

.company-visual>div svg {
    width: 18px;
    height: 18px;
    color: var(--muted)
}

@keyframes gauge-breathe {
    to {
        stroke-dashoffset: 8px
    }
}

@media (prefers-reduced-motion:reduce) {
    .gauge-live {
        animation: none
    }
}

.dashboard-more {
    border-top: 1px solid var(--border);
    color: var(--foreground);
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding-top: 18px;
    font-size: 14px;
    display: flex
}

.dashboard-more svg,
.dashboard-more:hover {
    color: var(--brand-orange)
}

.dashboard-detail {
    background: var(--background);
    min-height: 100vh;
    color: var(--foreground);
    padding: 40px 0 65px
}

.dashboard-detail header:not(.header) {
    max-width: 850px;
    padding: 55px 0 35px
}

.dashboard-detail header>svg {
    color: var(--brand-orange);
    margin-bottom: 25px
}

.dashboard-detail h1 {
    letter-spacing: -2px;
    margin: 15px 0 25px;
    font-size: clamp(36px, 6vw, 72px);
    line-height: 1.1
}

.dashboard-detail header>p:last-child {
    font-size: 20px;
    line-height: 1.6
}

.detail-capabilities h2 {
    margin: 20px 0;
    font-size: 28px
}

.detail-capabilities article {
    border-top: 1px solid var(--border);
    align-items: center;
    gap: 22px;
    padding: 22px 0;
    display: flex
}

.detail-capabilities article>span {
    color: var(--brand-orange);
    font: 13px monospace
}

.detail-capabilities h3 {
    font-size: 19px;
    line-height: 1.5
}

.detail-focus {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 35px 0;
    display: grid
}

.detail-focus article {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 12px;
    padding: 25px
}

.detail-focus svg {
    color: var(--brand-blue);
    margin-bottom: 18px
}

.detail-focus h3 {
    margin-bottom: 12px;
    font-size: 20px
}

.detail-focus p {
    font-size: 14px;
    line-height: 1.7
}

@media (width<=700px) {
    .detail-focus {
        grid-template-columns: 1fr
    }
}

.acc-section {
    padding-top: 48px;
    padding-bottom: 48px;
    scroll-margin-top: 24px
}

.acc-diagrams {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    display: grid
}

.acc-scene {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 12px;
    overflow: hidden
}

.acc-scene header {
    border-bottom: 1px solid var(--border);
    align-items: center;
    gap: 14px;
    padding: 18px 22px;
    display: flex
}

.acc-scene header>span {
    color: var(--brand-orange);
    font: 12px monospace
}

.acc-scene h3 {
    margin: 0;
    font-size: 18px
}

.acc-scene>svg {
    width: 100%;
    color: var(--brand-blue);
    background: radial-gradient(#00afef0b, #0000 70%);
    display: block
}

.acc-node rect {
    fill: var(--background);
    stroke: var(--border);
    stroke-width: 1.5px
}

.acc-node text {
    fill: var(--foreground);
    font: 12px Arial, sans-serif
}

.acc-node svg {
    stroke: var(--brand-blue)
}

.acc-hub rect,
.acc-hub svg {
    stroke: var(--brand-orange)
}

.acc-hub text {
    font-size: 17px;
    font-weight: 700
}

.acc-track {
    fill: none;
    stroke: var(--border);
    stroke-width: 2px
}

.acc-flow {
    fill: none;
    stroke: #00afef;
    stroke-width: 3px;
    stroke-dasharray: 7 12;
    animation: 1.5s linear infinite acc-data
}

.acc-flow.orange {
    stroke: #ff8a26
}

.acc-flow.wireless {
    stroke-dasharray: 3 10
}

.acc-caption {
    fill: var(--muted);
    letter-spacing: .4px;
    font: 10px monospace
}

.acc-distance {
    fill: none;
    stroke: var(--muted);
    stroke-width: 1px;
    stroke-dasharray: 3 3
}

.acc-radio {
    animation: 2s ease-in-out infinite acc-pulse
}

.acc-scene-note,
.acc-sensors {
    border-top: 1px solid var(--border);
    min-height: 72px;
    color: var(--muted);
    margin: 0;
    padding: 14px 22px;
    font-size: 13px;
    line-height: 1.6
}

.acc-sensors {
    flex-wrap: wrap;
    gap: 8px 18px;
    display: flex
}

.acc-sensors span {
    align-items: center;
    gap: 6px;
    font-size: 11px;
    display: flex
}

.acc-sensors svg {
    color: var(--brand-orange)
}

.acc-details-heading {
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin: 34px 0 18px;
    display: flex
}

.acc-details-heading span {
    color: var(--muted);
    font-size: 13px
}

.acc-products {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    display: grid
}

.acc-products>a {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 10px;
    flex-direction: column;
    padding: 14px;
    transition: border-color .2s;
    display: flex
}

.acc-products>a:hover {
    border-color: var(--brand-blue)
}

.acc-photo {
    background: #fff;
    border-radius: 6px;
    justify-content: center;
    align-items: center;
    height: 110px;
    padding: 10px;
    display: flex
}

.acc-photo img {
    object-fit: contain;
    max-width: 100%;
    max-height: 100%
}

.acc-products h3 {
    margin: 16px 0 8px;
    font-size: 15px
}

.acc-products p {
    flex: 1;
    font-size: 12px;
    line-height: 1.6
}

.acc-products .card-link {
    margin-top: 16px;
    font-size: 12px
}

@keyframes acc-data {
    to {
        stroke-dashoffset: -76px
    }
}

@keyframes acc-pulse {
    50% {
        opacity: .35
    }
}

@media (width<=1100px) {
    .acc-products {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

@media (width<=700px) {
    .acc-diagrams {
        grid-template-columns: 1fr
    }

    .acc-products {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .acc-details-heading {
        flex-direction: column;
        align-items: flex-start
    }

    .acc-scene header {
        padding: 15px
    }

    .acc-scene-note,
    .acc-sensors {
        padding: 12px 15px
    }
}

@media (prefers-reduced-motion:reduce) {

    .acc-flow,
    .acc-radio {
        animation: none
    }
}

.acc-unified {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 16px;
    overflow: hidden
}

.acc-network-top {
    border-bottom: 1px solid var(--border);
    letter-spacing: 1px;
    color: var(--muted);
    justify-content: space-between;
    gap: 20px;
    padding: 18px 24px;
    font: 12px monospace;
    display: flex
}

.acc-network-top>span:last-child {
    letter-spacing: 0;
    align-items: center;
    gap: 10px;
    display: flex
}

.acc-network-top i,
.acc-network-top b {
    background: #00afef;
    width: 18px;
    height: 3px;
    display: inline-block
}

.acc-network-top b {
    background: #ff8a26;
    margin-left: 12px
}

.acc-network-scroll {
    overflow-x: auto
}

.acc-network-scroll>svg {
    width: 100%;
    min-width: 960px;
    color: var(--brand-blue);
    background: radial-gradient(at 65% 48%, #00afef0d, #0000 60%);
    display: block
}

.acc-zone {
    fill: var(--background);
    stroke: var(--border)
}

.acc-zone-title {
    fill: var(--brand-blue);
    letter-spacing: 1px;
    font: 12px monospace
}

.acc-unified .acc-node text {
    font-size: 11px
}

.acc-unified .acc-hub text {
    font-size: 20px
}

.acc-unified .acc-hub rect {
    stroke-width: 2px;
    filter: drop-shadow(0 0 9px #ff8a2633)
}

@media (width<=700px) {
    .acc-network-top {
        flex-wrap: wrap;
        padding: 14px;
        font-size: 10px
    }
}

.accessory-showcase {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 16px;
    overflow: hidden
}

.showcase-stage {
    grid-template-columns: 1fr .85fr 1fr;
    gap: 5%;
    min-height: 660px;
    padding: 24px;
    display: grid;
    position: relative
}

.showcase-connections {
    pointer-events: none;
    opacity: .55;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0
}

.showcase-side {
    z-index: 1;
    grid-template-rows: repeat(3, 1fr);
    gap: 20px;
    display: grid
}

.showcase-side article {
    background: var(--background);
    border: 1px solid var(--border);
    text-align: center;
    border-radius: 18px;
    flex-direction: column;
    justify-content: center;
    padding: 18px;
    display: flex
}

.showcase-side h3 {
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 16px;
    display: flex
}

.showcase-side h3 svg {
    width: 22px;
    color: var(--brand-blue)
}

.showcase-side p {
    margin: 12px 0 0;
    font-size: 11px
}

.showcase-sensors {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px 6px;
    margin-top: 16px;
    display: grid
}

.showcase-sensors span {
    color: var(--muted);
    flex-direction: column;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    display: flex
}

.showcase-sensors svg {
    width: 20px;
    height: 20px;
    color: var(--brand-orange)
}

.showcase-centre {
    z-index: 1;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: flex;
    position: relative
}

.showcase-halo {
    aspect-ratio: 1;
    border: 1px solid #ff8a2633;
    border-radius: 50%;
    width: 110%;
    position: absolute;
    box-shadow: 0 0 80px #ff8a2612, inset 0 0 60px #00afef0d
}

.showcase-device {
    border: 2px solid var(--brand-orange);
    background: var(--background);
    border-radius: 25px;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 290px;
    padding: 28px 14px 22px;
    display: flex;
    position: relative;
    box-shadow: 0 16px 55px #0003
}

.showcase-device>svg {
    width: 54px;
    height: 54px;
    color: var(--brand-orange);
    margin: 16px
}

.showcase-device strong {
    letter-spacing: -3px;
    font-size: clamp(32px, 4vw, 62px)
}

.showcase-device strong span {
    color: var(--brand-orange)
}

.showcase-device small {
    letter-spacing: 1px;
    color: var(--muted);
    margin: 12px 0;
    font: 8px monospace
}

.device-leds {
    align-self: flex-end;
    gap: 7px;
    display: flex
}

.device-leds i {
    background: #44d8ae;
    border-radius: 50%;
    width: 5px;
    height: 5px;
    box-shadow: 0 0 7px #44d8ae
}

.device-ports {
    gap: 8px;
    margin-top: 15px;
    display: flex
}

.device-ports i {
    background: var(--soft);
    border: 1px solid var(--muted);
    border-radius: 2px;
    width: 17px;
    height: 12px
}

.showcase-centre>p {
    text-align: center;
    z-index: 1;
    margin-top: 24px;
    font-size: 13px
}

.showcase-art,
.showcase-protection,
.showcase-meters {
    justify-content: center;
    align-items: center;
    gap: 18px;
    margin-top: 18px;
    display: flex
}

.showcase-art>svg {
    width: 38px;
    height: 38px;
    color: var(--muted)
}

.air-accessory h3 svg,
.air-accessory .showcase-art>svg {
    color: #b491ff
}

.ether-accessory h3 svg,
.ether-accessory .showcase-art>svg {
    color: #35cfa2
}

.radio-waves {
    width: 60px;
    height: 40px;
    position: relative
}

.radio-waves i {
    border: 2px solid #0000;
    border-color: #0000 #b491ff;
    border-radius: 50%;
    animation: 2s ease-out infinite showcase-wave;
    position: absolute;
    inset: 5px 20px
}

.radio-waves i:nth-child(2) {
    animation-delay: .65s
}

.radio-waves i:nth-child(3) {
    animation-delay: 1.3s
}

.ether-packets {
    border-bottom: 1px solid #35cfa250;
    width: 70px;
    height: 16px;
    position: relative
}

.ether-packets i {
    background: #35cfa2;
    width: 8px;
    height: 7px;
    animation: 1.8s linear infinite showcase-packet;
    position: absolute
}

.ether-packets i:nth-child(2) {
    animation-delay: .6s
}

.ether-packets i:nth-child(3) {
    animation-delay: 1.2s
}

.fibre-light {
    background: linear-gradient(90deg, #0000, #00afef, #fff, #0000) 0 0/200% 100%;
    width: 70px;
    height: 3px;
    animation: 1.2s linear infinite showcase-light;
    box-shadow: 0 0 9px #00afef
}

.showcase-protection span,
.showcase-meters>span {
    color: var(--muted);
    flex-direction: column;
    align-items: center;
    gap: 7px;
    font-size: 10px;
    display: flex
}

.showcase-protection svg {
    color: var(--brand-orange);
    width: 32px;
    height: 32px
}

.showcase-meters>span {
    border: 1px solid var(--border);
    border-radius: 7px;
    padding: 8px 22px
}

.showcase-meters svg {
    width: 18px;
    color: var(--brand-blue)
}

.showcase-meters strong {
    font: 10px monospace
}

.showcase-meters small {
    font-size: 9px
}

.air-channel {
    fill: none;
    stroke: #b491ff;
    stroke-dasharray: 2 18;
    stroke-width: 4px;
    animation: 2.6s linear infinite acc-data
}

.ether-channel {
    fill: none;
    stroke: #35cfa2;
    stroke-width: 4px;
    stroke-dasharray: 15 20;
    animation: .9s linear infinite acc-data
}

.showcase-legend i.air {
    background: #b491ff
}

.showcase-legend i.ether {
    background: #35cfa2
}

@keyframes showcase-wave {
    0% {
        opacity: 1;
        transform: scale(.4)
    }

    to {
        opacity: 0;
        transform: scale(2)
    }
}

@keyframes showcase-packet {
    0% {
        opacity: 0;
        left: 65px
    }

    20% {
        opacity: 1
    }

    80% {
        opacity: 1
    }

    to {
        opacity: 0;
        left: 0
    }
}

@keyframes showcase-light {
    to {
        background-position: -200% 0
    }
}

@media (width<=850px) {
    .showcase-stage {
        gap: 3%;
        padding: 16px
    }

    .showcase-side article {
        padding: 12px
    }

    .showcase-side h3 {
        font-size: 13px
    }

    .showcase-sensors {
        grid-template-columns: repeat(2, 1fr)
    }

    .showcase-art {
        gap: 8px
    }

    .showcase-device small {
        font-size: 6px
    }

    .device-ports {
        gap: 4px
    }
}

@media (width<=600px) {
    /* Keep the desktop hub-and-spoke layout, scaled down */
    .showcase-stage {
        gap: 4%;
        min-height: 440px;
        padding: 10px 8px
    }

    .showcase-side {
        gap: 8px
    }

    .showcase-side article {
        border-radius: 10px;
        padding: 8px 4px
    }

    .showcase-side h3 {
        flex-direction: column;
        gap: 3px;
        font-size: 9px;
        line-height: 1.2
    }

    .showcase-side h3 svg {
        width: 14px;
        height: 14px
    }

    .showcase-side p {
        margin-top: 6px;
        font-size: 7px;
        line-height: 1.3
    }

    .showcase-sensors {
        gap: 5px 2px;
        margin-top: 6px
    }

    .showcase-sensors span {
        gap: 2px;
        font-size: 6px;
        line-height: 1.2
    }

    .showcase-sensors svg {
        width: 11px;
        height: 11px
    }

    .showcase-art,
    .showcase-protection,
    .showcase-meters {
        gap: 4px;
        margin-top: 6px
    }

    .showcase-art>svg {
        width: 18px;
        height: 18px
    }

    .radio-waves {
        width: 24px;
        height: 18px
    }

    .radio-waves i {
        inset: 2px 7px
    }

    .ether-packets {
        width: 26px;
        height: 10px
    }

    .ether-packets i {
        width: 4px;
        height: 4px
    }

    .fibre-light {
        width: 26px;
        height: 2px
    }

    .showcase-protection span,
    .showcase-meters>span {
        gap: 2px;
        font-size: 6px
    }

    .showcase-protection svg {
        width: 16px;
        height: 16px
    }

    .showcase-meters>span {
        border-radius: 5px;
        padding: 4px 6px
    }

    .showcase-meters svg {
        width: 11px;
        height: 11px
    }

    .showcase-meters strong,
    .showcase-meters small {
        font-size: 6px
    }

    .showcase-device {
        border-radius: 14px;
        padding: 12px 6px 10px
    }

    .showcase-device>svg {
        width: 26px;
        height: 26px;
        margin: 6px
    }

    .showcase-device .official-brand {
        margin: 6px 0
    }

    .showcase-device small {
        letter-spacing: 0;
        margin: 6px 0;
        font-size: 4.5px
    }

    .device-leds {
        gap: 3px
    }

    .device-leds i {
        width: 3px;
        height: 3px
    }

    .device-ports {
        gap: 2px;
        margin-top: 8px
    }

    .device-ports i {
        width: 8px;
        height: 6px
    }

    .showcase-centre>p {
        margin-top: 12px;
        font-size: 8px;
        line-height: 1.4
    }

    .acc-network-top .showcase-legend {
        flex-wrap: wrap
    }
}

@media (prefers-reduced-motion:reduce) {

    .radio-waves i,
    .ether-packets i,
    .fibre-light,
    .air-channel,
    .ether-channel {
        animation: none
    }

    .ether-packets i:nth-child(2) {
        left: 25px
    }

    .ether-packets i:nth-child(3) {
        left: 50px
    }
}

.accessory-icon-art {
    background: var(--background);
    height: 120px;
    color: var(--brand-blue);
    border: 1px solid var(--border);
    border-radius: 10px;
    justify-content: center;
    align-items: center;
    display: flex;
    position: relative;
    overflow: hidden
}

.accessory-main-icon {
    stroke-width: 1.5px;
    z-index: 1;
    width: 48px;
    height: 48px
}

.accessory-icon-orbit {
    opacity: .18;
    border: 1px dashed;
    border-radius: 50%;
    width: 88px;
    height: 88px;
    animation: 20s linear infinite accessory-orbit;
    position: absolute
}

.accessory-icon-0,
.accessory-icon-5 {
    color: var(--brand-orange)
}

.accessory-icon-1 {
    color: #b491ff
}

.accessory-icon-4 {
    color: #35cfa2
}

.accessory-sun {
    width: 23px;
    height: 23px;
    animation: 12s linear infinite accessory-orbit;
    position: absolute;
    top: 16px;
    left: calc(50% - 37px)
}

.accessory-rain {
    gap: 9px;
    display: flex;
    position: absolute;
    top: 79px
}

.accessory-rain i {
    background: var(--brand-blue);
    width: 2px;
    height: 8px;
    animation: 1.2s linear infinite accessory-rainfall
}

.accessory-rain i:nth-child(2) {
    animation-delay: .4s
}

.accessory-rain i:nth-child(3) {
    animation-delay: .8s
}

.accessory-radio-rings {
    justify-content: center;
    align-items: center;
    display: flex;
    position: absolute;
    inset: 0
}

.accessory-radio-rings i {
    border: 1px solid;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    animation: 2.4s ease-out infinite accessory-broadcast;
    position: absolute
}

.accessory-radio-rings i:nth-child(2) {
    animation-delay: .8s
}

.accessory-radio-rings i:nth-child(3) {
    animation-delay: 1.6s
}

.accessory-optic-ray {
    background: linear-gradient(90deg, #0000, #00afef, #fff, #0000) 0 0/200% 100%;
    width: 76px;
    height: 3px;
    animation: 1.2s linear infinite showcase-light;
    position: absolute;
    bottom: 22px;
    box-shadow: 0 0 8px #00afef
}

.accessory-meter-bars {
    align-items: flex-end;
    gap: 4px;
    height: 15px;
    display: flex;
    position: absolute;
    bottom: 17px
}

.accessory-meter-bars i {
    transform-origin: bottom;
    background: currentColor;
    width: 5px;
    height: 100%;
    animation: 1.8s ease-in-out infinite alternate accessory-meter
}

.accessory-meter-bars i:nth-child(2) {
    animation-delay: -.5s
}

.accessory-meter-bars i:nth-child(3) {
    animation-delay: -1s
}

.accessory-meter-bars i:nth-child(4) {
    animation-delay: -1.4s
}

.accessory-data-dots {
    width: 75px;
    height: 6px;
    position: absolute;
    bottom: 22px
}

.accessory-data-dots i {
    background: currentColor;
    width: 6px;
    height: 6px;
    animation: 1.8s linear infinite showcase-packet;
    position: absolute
}

.accessory-data-dots i:nth-child(2) {
    animation-delay: .6s
}

.accessory-data-dots i:nth-child(3) {
    animation-delay: 1.2s
}

.accessory-surge-bolt {
    width: 20px;
    height: 20px;
    animation: 2s ease-in-out infinite accessory-surge;
    position: absolute;
    top: 20px;
    right: calc(50% - 42px)
}

.accessory-icon-5 .accessory-main-icon {
    animation: 2s ease-in-out infinite accessory-shield
}

@keyframes accessory-orbit {
    to {
        transform: rotate(360deg)
    }
}

@keyframes accessory-rainfall {
    0% {
        opacity: 0;
        transform: translateY(-3px)
    }

    30% {
        opacity: 1
    }

    to {
        opacity: 0;
        transform: translateY(10px)
    }
}

@keyframes accessory-broadcast {
    0% {
        opacity: .7;
        transform: scale(.7)
    }

    to {
        opacity: 0;
        transform: scale(2.3)
    }
}

@keyframes accessory-meter {
    0% {
        transform: scaleY(.25)
    }

    to {
        transform: scaleY(1)
    }
}

@keyframes accessory-surge {

    0%,
    60%,
    to {
        opacity: .2
    }

    15%,
    35% {
        opacity: 1
    }
}

@keyframes accessory-shield {
    30% {
        filter: drop-shadow(0 0 6px #ff8a2680)
    }
}

@media (prefers-reduced-motion:reduce) {
    .accessory-icon-art * {
        animation: none !important
    }

    .accessory-radio-rings i:nth-child(2) {
        opacity: .3;
        transform: scale(1.4)
    }

    .accessory-radio-rings i:nth-child(3) {
        opacity: .15;
        transform: scale(1.8)
    }
}

.sensor-page {
    background: var(--background);
    min-height: 100vh;
    color: var(--foreground)
}

.sensor-theme {
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
    cursor: pointer;
    border-radius: 50%;
    padding: 10px
}

.sensor-theme svg {
    width: 20px;
    height: 20px
}

.sensor-back {
    margin-top: 25px;
    display: inline-flex
}

.sensor-hero {
    grid-template-columns: 1.3fr 1fr;
    align-items: center;
    gap: 65px;
    padding: 65px 0;
    display: grid
}

.sensor-hero h1 {
    letter-spacing: -2px;
    margin: 20px 0;
    font-size: clamp(36px, 4.5vw, 68px);
    line-height: 1.08
}

.sensor-hero h1 em,
.sensor-help em {
    color: var(--brand-orange);
    font-style: normal
}

.sensor-hero p:not(.eyebrow) {
    max-width: 580px;
    margin-bottom: 28px;
    font-size: 17px
}

.sensor-hero-art {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 24px;
    flex-direction: column;
    align-items: center;
    gap: 25px;
    padding: 40px;
    display: flex
}

.sensor-weather {
    width: 100px;
    height: 100px;
    color: var(--brand-orange)
}

.sensor-hero-art>div {
    gap: 20px;
    display: flex
}

.sensor-hero-art>div span {
    border: 1px solid var(--border);
    color: var(--brand-blue);
    border-radius: 50%;
    padding: 15px
}

.sensor-hero-art small {
    color: var(--muted);
    letter-spacing: 2px;
    font: 10px monospace
}

.sensor-catalogue {
    padding: 30px 0 55px;
    scroll-margin-top: 25px
}

.sensor-catalogue-heading {
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    display: flex
}

.sensor-catalogue-heading h2 {
    font-size: 32px
}

.sensor-catalogue-heading>p {
    font-size: 13px
}

.sensor-filters {
    flex-wrap: wrap;
    gap: 10px;
    margin: 28px 0;
    display: flex
}

.sensor-filters button {
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
    cursor: pointer;
    border-radius: 30px;
    padding: 11px 20px
}

.sensor-filters button[aria-pressed=true] {
    background: var(--brand-orange);
    color: #111;
    border-color: var(--brand-orange)
}

.sensor-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    display: grid
}

.sensor-grid article {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 16px;
    overflow: hidden
}

.sensor-art {
    background: var(--background);
    border-bottom: 1px solid var(--border);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 16px;
    height: 145px;
    display: flex
}

.sensor-art svg {
    width: 50px;
    height: 50px;
    color: var(--brand-blue);
    stroke-width: 1.5px
}

.sensor-art span {
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 1px;
    font: 10px monospace
}

.sensor-irradiance svg {
    color: var(--brand-orange);
    animation: 30s linear infinite sensor-sun
}

.sensor-card-copy {
    padding: 24px
}

.sensor-card-copy .eyebrow {
    letter-spacing: .8px;
    min-height: 26px;
    font-size: 10px
}

.sensor-card-copy h3 {
    min-height: 56px;
    margin: 10px 0;
    font-size: 22px
}

.sensor-output {
    align-items: center;
    gap: 8px;
    min-height: 42px;
    font-size: 12px;
    display: flex
}

.sensor-output svg {
    color: var(--brand-blue);
    flex-shrink: 0
}

.sensor-card-copy .card-link {
    margin-top: 20px;
    font-size: 12px
}

.sensor-source {
    margin-top: 25px;
    font-size: 12px
}

.sensor-source a {
    color: var(--brand-blue);
    text-decoration: underline
}

.sensor-help {
    border-top: 1px solid var(--border);
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding: 45px 0;
    display: flex
}

.sensor-help h2 {
    font-size: 34px
}

@keyframes sensor-sun {
    to {
        transform: rotate(360deg)
    }
}

@media (width<=900px) {
    .sensor-hero {
        gap: 25px
    }

    .sensor-hero-art {
        padding: 25px
    }

    .sensor-hero-art>div {
        gap: 8px
    }

    .sensor-grid {
        grid-template-columns: 1fr 1fr
    }

    .sensor-page .nav>a {
        padding: 8px;
        font-size: 11px
    }
}

@media (width<=600px) {

    .sensor-hero,
    .sensor-grid {
        grid-template-columns: 1fr
    }

    .sensor-catalogue-heading,
    .sensor-help {
        flex-direction: column;
        align-items: flex-start
    }

    .sensor-card-copy h3 {
        min-height: 0
    }
}

@media (prefers-reduced-motion:reduce) {
    .sensor-art svg {
        animation: none
    }
}

.sensor-grid .sensor-art {
    background: #fff;
    gap: 10px;
    height: 205px;
    padding: 18px
}

.sensor-art img {
    object-fit: contain;
    width: 100%;
    height: 150px;
    display: block
}

.sensor-grid .sensor-art span {
    color: #526477
}

.weather-catalogue-title {
    border-bottom: 1px solid var(--border);
    gap: 28px;
    padding: 25px 0
}

.weather-catalogue-title h2 {
    letter-spacing: -1px;
    margin-top: 12px;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.2
}

.weather-interfaces {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    max-width: 440px;
    display: flex
}

.weather-interfaces>span {
    border: 1px solid color-mix(in srgb, var(--brand-blue) 35%, var(--border));
    background: color-mix(in srgb, var(--brand-blue) 6%, var(--card));
    color: var(--brand-blue);
    border-radius: 9px;
    align-items: center;
    gap: 8px;
    padding: 11px 14px;
    font-size: 12px;
    display: flex
}

.weather-interfaces>span:nth-child(2) {
    color: var(--brand-orange);
    border-color: color-mix(in srgb, var(--brand-orange) 35%, var(--border))
}

.weather-interfaces small {
    text-align: right;
    color: var(--muted);
    flex-basis: 100%;
    margin-top: 3px;
    font-size: 11px
}

@media (width<=700px) {
    .weather-catalogue-title {
        flex-direction: column;
        align-items: flex-start
    }

    .weather-interfaces {
        justify-content: flex-start;
        max-width: none
    }

    .weather-interfaces small {
        text-align: left
    }
}

.sensor-catalogue .weather-catalogue-title {
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    display: flex
}

.sensor-catalogue .weather-interfaces {
    flex-shrink: 0;
    grid-template-columns: repeat(3, minmax(105px, 1fr));
    gap: 10px;
    width: 44%;
    max-width: 440px;
    display: grid
}

.sensor-catalogue .weather-interfaces>span {
    border: 1px solid var(--border);
    background: var(--card);
    white-space: nowrap;
    min-height: 80px;
    color: var(--foreground);
    border-radius: 10px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 9px;
    padding: 14px 10px;
    font-size: 11px;
    display: flex
}

.sensor-catalogue .weather-interfaces>span svg {
    color: var(--brand-blue);
    width: 21px;
    height: 21px
}

.sensor-catalogue .weather-interfaces>span:nth-child(2) svg {
    color: var(--brand-orange)
}

.sensor-catalogue .weather-interfaces small {
    text-align: right;
    grid-column: 1/-1;
    margin: 2px 0 0;
    font-size: 10px;
    line-height: 1.5;
    display: block
}

.weather-catalogue-title h2>span {
    color: var(--brand-orange)
}

@media (width<=700px) {
    .sensor-catalogue .weather-catalogue-title {
        flex-direction: column;
        align-items: flex-start
    }

    .sensor-catalogue .weather-interfaces {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        max-width: none
    }

    .sensor-catalogue .weather-interfaces small {
        text-align: left
    }
}

.about-content {
    padding-top: 55px
}

.about-hero {
    max-width: 1050px;
    padding: 30px 0 55px
}

.about-hero h1 {
    letter-spacing: -2px;
    margin: 22px 0;
    font-size: clamp(36px, 5vw, 72px);
    line-height: 1.1
}

.about-content em {
    color: var(--brand-orange);
    font-style: normal
}

.about-statement {
    max-width: 920px;
    font-size: clamp(18px, 2vw, 23px);
    line-height: 1.7
}

.about-tags {
    flex-wrap: wrap;
    gap: 25px;
    margin-top: 30px;
    display: flex
}

.about-tags span {
    color: var(--muted);
    align-items: center;
    gap: 9px;
    font-size: 13px;
    display: flex
}

.about-tags svg {
    width: 19px;
    color: var(--brand-blue)
}

.about-story {
    border-top: 1px solid var(--border);
    grid-template-columns: 1fr 1.3fr;
    gap: 65px;
    padding: 48px 0;
    display: grid
}

.about-story h2 {
    margin-top: 18px;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.2
}

.about-story p:not(.eyebrow) {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.8
}

.about-pillars {
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin: 10px 0 50px;
    display: grid
}

.about-pillars article {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 15px;
    flex-direction: column;
    padding: 25px;
    display: flex
}

.about-pillars article>svg {
    color: var(--brand-blue);
    width: 30px;
    height: 30px;
    margin-bottom: 24px
}

.about-pillars h3 {
    margin-bottom: 14px;
    font-size: 21px
}

.about-pillars p {
    flex: 1;
    font-size: 13px;
    line-height: 1.7
}

.about-pillars a {
    margin-top: 25px;
    font-size: 13px
}

@media (width<=950px) {
    .about-pillars {
        grid-template-columns: 1fr 1fr
    }

    .about-story {
        gap: 30px
    }
}

@media (width<=600px) {

    .about-story,
    .about-pillars {
        grid-template-columns: 1fr
    }

    .about-content {
        padding-top: 20px
    }
}

.about-team {
    border-top: 1px solid var(--border);
    padding: 45px 0 65px
}

.about-team h2 {
    margin: 15px 0 30px;
    font-size: clamp(28px, 3vw, 42px)
}

.team-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    display: grid
}

.team-group-card {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 16px;
    overflow: hidden;
    margin-top: 22px
}

.team-group-photos {
    overflow: hidden;
    aspect-ratio: 2 / 1;
    min-height: 240px;
    max-height: 640px;
    width: 100%
}

.team-group-photos img {
    object-position: center 70%
}

.team-group-photos {
    position: relative
}

.team-group-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: color-mix(in srgb, var(--background) 72%, transparent);
    color: var(--foreground);
    backdrop-filter: blur(6px);
    cursor: pointer;
    transition: background .2s, color .2s
}

.team-group-nav:hover,
.team-group-nav:focus-visible {
    background: var(--brand-orange);
    color: #fff;
    outline: none
}

.team-group-prev {
    left: 14px
}

.team-group-next {
    right: 14px
}

.team-group-track {
    display: flex;
    height: 100%;
    transition: transform .6s ease
}

.team-group-slide {
    flex: 0 0 100%;
    height: 100%
}

.team-group-slide .team-portrait {
    height: 100%;
    border-radius: 0
}

.team-grid article {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 16px;
    overflow: hidden
}

.team-portrait {
    background: color-mix(in srgb, var(--brand-blue) 6%, var(--background));
    justify-content: center;
    height: 230px;
    display: flex;
    position: relative;
    overflow: hidden
}

.team-portrait svg {
    width: 100%;
    height: 100%;
    fill: color-mix(in srgb, var(--brand-blue) 22%, var(--card));
    padding-top: 20px
}

.team-portrait-1,
.team-portrait-3 {
    background: color-mix(in srgb, var(--brand-orange) 6%, var(--background))
}

.team-portrait-1 svg,
.team-portrait-3 svg {
    fill: color-mix(in srgb, var(--brand-orange) 22%, var(--card))
}

.team-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.team-portrait span {
    background: var(--background);
    border: 1px solid var(--border);
    letter-spacing: 1px;
    color: var(--muted);
    border-radius: 20px;
    padding: 6px 10px;
    font: 8px monospace;
    position: absolute;
    bottom: 14px
}

.team-grid h3,
.team-group-card h3 {
    margin: 22px 20px 9px;
    font-size: 22px
}

.team-grid article>p,
.team-group-card>p {
    color: var(--muted);
    margin: 0 20px 24px;
    font-size: 13px;
    line-height: 1.6
}

@media (width<=900px) {
    .team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (width<=480px) {
    .team-grid {
        grid-template-columns: 1fr
    }
}

.air-product {
    border: 1px solid var(--border);
    background: #fff;
    border-radius: 20px;
    margin: 0;
    padding: 25px;
    overflow: hidden
}

.air-product img {
    object-fit: contain;
    width: 100%;
    height: 270px
}

.air-product figcaption {
    text-align: center;
    color: #526477;
    letter-spacing: 1px;
    margin: 15px 0;
    font: 10px monospace
}

.air-demo {
    padding: 30px 0
}

.air-demo h2 {
    margin: 14px 0;
    font-size: 34px
}

.air-demo>div>p:last-child {
    font-size: 12px
}

.air-demo-stage {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 20px;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    gap: 25px;
    margin-top: 25px;
    padding: 35px;
    display: grid
}

.air-building {
    flex-direction: column;
    align-items: center;
    gap: 13px;
    display: flex
}

.air-building>svg {
    width: 65px;
    height: 65px;
    color: var(--brand-blue);
    stroke-width: 1.5px
}

.air-building h3 {
    font-size: 21px
}

.air-building span {
    align-items: center;
    gap: 8px;
    font-size: 13px;
    display: flex
}

.air-building span svg {
    width: 18px;
    color: var(--brand-orange)
}

.air-building small,
.air-wireless small {
    color: var(--muted);
    font-size: 11px
}

.air-radio {
    color: #a889ed;
    border: 1px solid #a889ed55;
    border-radius: 10px;
    align-items: center;
    gap: 9px;
    padding: 12px 18px;
    font-size: 13px;
    display: flex
}

.air-wireless {
    text-align: center;
    overflow: hidden
}

.air-wireless>span {
    color: #a889ed;
    letter-spacing: .5px;
    font: 9px monospace;
    display: block
}

.air-wireless>span:nth-of-type(2) {
    color: var(--brand-orange)
}

.air-pulse-line,
.air-command-line {
    border-bottom: 1px solid #a889ed33;
    height: 22px;
    margin: 10px 0;
    position: relative
}

.air-command-line {
    border-color: #ff8a2633
}

.air-pulse-line i,
.air-command-line i {
    background: #a889ed;
    border-radius: 4px;
    width: 14px;
    height: 5px;
    animation: 2.4s linear infinite air-data;
    position: absolute;
    top: 8px
}

.air-command-line i {
    background: var(--brand-orange);
    animation-direction: reverse
}

.air-pulse-line i:nth-child(2),
.air-command-line i:nth-child(2) {
    animation-delay: -.8s
}

.air-pulse-line i:nth-child(3),
.air-command-line i:nth-child(3) {
    animation-delay: -1.6s
}

.air-wireless strong {
    margin: 22px 0 5px;
    font-size: 24px;
    display: block
}

.air-features {
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin: 28px 0;
    display: grid
}

.air-features article {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 14px;
    padding: 24px
}

.air-features svg {
    color: var(--brand-blue);
    margin-bottom: 18px
}

.air-features h3 {
    margin-bottom: 12px;
    font-size: 18px
}

.air-features p {
    font-size: 13px;
    line-height: 1.7
}

@keyframes air-data {
    0% {
        opacity: 0;
        left: -15px
    }

    15% {
        opacity: 1
    }

    85% {
        opacity: 1
    }

    to {
        opacity: 0;
        left: 100%
    }
}

@media (width<=850px) {
    .air-features {
        grid-template-columns: 1fr 1fr
    }

    .air-demo-stage {
        gap: 12px;
        padding: 20px
    }

    .air-building h3 {
        font-size: 16px
    }
}

@media (width<=600px) {
    .air-demo-stage {
        grid-template-columns: 1fr
    }

    .air-wireless {
        width: 100%;
        padding: 15px 0
    }

    .air-features {
        grid-template-columns: 1fr
    }

    .air-product img {
        height: 220px
    }
}

@media (prefers-reduced-motion:reduce) {

    .air-pulse-line i,
    .air-command-line i {
        animation: none;
        left: 45%
    }
}

.air-demo-stage {
    grid-template-columns: 1.3fr 1fr 1fr
}

.air-remote-buildings {
    gap: 16px;
    display: grid
}

.air-remote-buildings .air-building {
    text-align: left;
    border: 1px solid var(--border);
    background: var(--background);
    border-radius: 12px;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding: 16px
}

.air-remote-buildings .air-building>svg {
    flex-shrink: 0;
    width: 35px;
    height: 45px
}

.air-remote-buildings h3 {
    margin-bottom: 8px;
    font-size: 15px
}

.air-remote-buildings span {
    font-size: 11px
}

.air-remote-buildings small {
    margin-top: 6px;
    font-size: 9px;
    display: block
}

.air-remote-buildings .air-slave-radio {
    margin-left: auto;
    color: #a889ed !important;
    width: 20px !important;
    height: 20px !important
}

.air-multi-wireless svg {
    width: 100%;
    height: 270px;
    display: block
}

.air-multi-track {
    fill: none;
    stroke: var(--border);
    stroke-width: 1px
}

.air-multi-data,
.air-multi-command {
    fill: none;
    stroke: #a889ed;
    stroke-width: 3px;
    stroke-dasharray: 7 16;
    animation: 2s linear infinite air-multi-flow
}

.air-multi-command {
    stroke: var(--brand-orange);
    animation-duration: 2.8s
}

.air-multi-wireless strong {
    margin-top: 12px
}

@keyframes air-multi-flow {
    to {
        stroke-dashoffset: -92px
    }
}

@media (width<=700px) {
    .air-demo-stage {
        grid-template-columns: 1fr
    }

    .air-multi-wireless svg {
        height: 130px
    }

    .air-remote-buildings {
        width: 100%
    }
}

@media (prefers-reduced-motion:reduce) {

    .air-multi-data,
    .air-multi-command {
        animation: none
    }
}

.air-site-diagram {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 20px;
    margin-top: 25px;
    padding: 20px;
    overflow-x: auto
}

.air-site-diagram>svg {
    width: 100%;
    display: block
}

.air-structure {
    fill: var(--background);
    stroke: var(--border);
    stroke-width: 1.5px
}

.air-master-box {
    fill: var(--card);
    stroke: #ae8bfa;
    stroke-width: 1.5px
}

.air-esenz-box {
    fill: var(--card);
    stroke: #ff8a26;
    stroke-width: 1.5px
}

.air-svg-title {
    fill: var(--foreground);
    font: 17px Arial, sans-serif
}

.air-svg-small {
    fill: var(--muted);
    font: 11px Arial, sans-serif
}

.air-svg-brand {
    fill: #ff8a26;
    font: 700 30px Arial, sans-serif
}

.air-clear-data,
.air-clear-command {
    fill: none;
    stroke-width: 3px;
    stroke-dasharray: 10 12;
    stroke-linecap: round;
    animation: 1.5s linear infinite air-clear-travel
}

.air-clear-data {
    stroke: #ae8bfa
}

.air-clear-command {
    stroke: #ff8a26;
    animation-duration: 2s
}

.air-flow-legend {
    color: var(--muted);
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px 30px;
    margin: 15px 0;
    font-size: 12px;
    display: flex
}

.air-flow-legend span {
    align-items: center;
    gap: 8px;
    display: flex
}

.air-flow-legend i {
    background: #ae8bfa;
    width: 25px;
    height: 3px
}

.air-flow-legend span+span i {
    background: #ff8a26
}

@keyframes air-clear-travel {
    to {
        stroke-dashoffset: -88px
    }
}

@media (prefers-reduced-motion:reduce) {

    .air-clear-data,
    .air-clear-command {
        animation: none
    }
}

.opti-demo {
    padding: 25px 0
}

.opti-demo h2 {
    margin: 15px 0 25px;
    font-size: 32px
}

.opti-scroll {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 18px;
    overflow-x: auto
}

.opti-scroll svg {
    width: 100%;
    display: block
}

@media (width<=600px) {
    /* Fit the use-case diagrams to the screen instead of scrolling */
    .air-site-diagram {
        border-radius: 14px;
        padding: 8px
    }

    .opti-scroll {
        border-radius: 14px
    }
}

.opti-building {
    fill: var(--background);
    stroke: var(--border)
}

.opti-device {
    fill: var(--card);
    stroke: #00afef
}

.opti-label {
    fill: var(--muted);
    letter-spacing: .5px;
    font: 10px monospace
}

.opti-text {
    fill: var(--foreground);
    font: 15px Arial, sans-serif
}

.opti-brand {
    fill: var(--brand-orange);
    font: 700 24px Arial, sans-serif
}

.opti-data,
.opti-command {
    fill: none;
    stroke-width: 3px;
    stroke-dasharray: 16 14;
    animation: 1.6s linear infinite opti-flow
}

.opti-data {
    stroke: #00afef
}

.opti-command {
    stroke: #ff8a26;
    animation-duration: 2s
}

@keyframes opti-flow {
    to {
        stroke-dashoffset: -120px
    }
}

@media (prefers-reduced-motion:reduce) {

    .opti-data,
    .opti-command {
        animation: none
    }
}

.accessories-detail-page {
    background: var(--background);
    color: var(--foreground)
}

.accessory-detail-section {
    border-bottom: 1px solid var(--border);
    scroll-margin-top: 20px
}

.accessory-detail-section:last-child {
    border-bottom: none
}

.accessory-detail-section .sensor-page>.header,
.accessory-detail-section .sensor-back,
.accessory-detail-section .sensor-page>footer,
.accessory-detail-section .sensor-help {
    display: none
}

.accessory-detail-section .sensor-hero {
    padding-top: 45px;
    padding-bottom: 40px
}

.accessory-summary {
    grid-template-columns: 1.4fr 1fr;
    align-items: center;
    gap: 50px;
    padding: 60px 0;
    display: grid
}

.accessory-summary h2 {
    margin: 18px 0;
    font-size: 38px
}

.accessory-summary p {
    margin: 16px 0
}

.accessory-summary svg {
    color: var(--brand-orange)
}

.accessory-summary>img {
    object-fit: contain;
    background: #fff;
    border-radius: 16px;
    width: 100%;
    height: 220px;
    padding: 25px
}

.accessory-detail-section .sensor-grid {
    grid-template-columns: 1fr
}

.accessory-detail-section .sensor-grid article {
    grid-template-columns: 260px 1fr;
    display: grid
}

.accessory-detail-section .sensor-grid .sensor-art {
    border-bottom: 0;
    border-right: 1px solid var(--border);
    height: 100%;
    min-height: 230px
}

.accessory-detail-section .sensor-card-copy h3 {
    min-height: 0
}

@media (width<=700px) {
    .accessory-summary,
    .accessory-detail-section .sensor-grid article {
        grid-template-columns: 1fr
    }

    .accessory-detail-section .sensor-grid .sensor-art {
        height: 220px
    }
}

#weather .sensor-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px
}

#weather .sensor-grid article {
    flex-direction: column;
    display: flex
}

#weather .sensor-grid .sensor-art {
    border-right: 0;
    border-bottom: 1px solid var(--border);
    height: 205px;
    min-height: 205px
}

#weather .sensor-card-copy {
    flex-direction: column;
    flex: 1;
    display: flex
}

#weather .sensor-card-copy h3 {
    min-height: 56px
}

#weather .sensor-card-copy .card-link {
    margin-top: auto;
    padding-top: 20px
}

@media (width<=1000px) {
    #weather .sensor-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (width<=600px) {
    #weather .sensor-grid {
        grid-template-columns: 1fr
    }

    #weather .sensor-card-copy h3 {
        min-height: 0
    }
}

.surge-type-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0;
    display: grid
}

.surge-type-grid article {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 22px
}

.surge-type-grid article h3 {
    margin: 14px 0 8px;
    font-size: 18px
}

.surge-type-grid article p {
    margin: 0;
    font-size: 13px;
    line-height: 1.65
}

.surge-type-grid article:nth-child(2)>svg {
    color: var(--brand-blue)
}

#surge-protection>img {
    height: 270px
}

@media (width<=480px) {
    .surge-type-grid {
        grid-template-columns: 1fr
    }
}

@layer properties {
    @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {

        :root,
        :host {
            --shimmer-angle: 20deg
        }

        *,
        :before,
        :after,
        ::backdrop {
            --tw-translate-x: 0;
            --tw-translate-y: 0;
            --tw-translate-z: 0;
            --tw-scale-x: 1;
            --tw-scale-y: 1;
            --tw-scale-z: 1;
            --tw-rotate-x: initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial;
            --tw-pan-x: initial;
            --tw-pan-y: initial;
            --tw-pinch-zoom: initial;
            --tw-scroll-snap-strictness: proximity;
            --tw-space-y-reverse: 0;
            --tw-space-x-reverse: 0;
            --tw-divide-x-reverse: 0;
            --tw-border-style: solid;
            --tw-divide-y-reverse: 0;
            --tw-leading: initial;
            --tw-font-weight: initial;
            --tw-tracking: initial;
            --tw-ordinal: initial;
            --tw-slashed-zero: initial;
            --tw-numeric-figure: initial;
            --tw-numeric-spacing: initial;
            --tw-numeric-fraction: initial;
            --tw-shadow: 0 0 #0000;
            --tw-shadow-color: initial;
            --tw-shadow-alpha: 100%;
            --tw-inset-shadow: 0 0 #0000;
            --tw-inset-shadow-color: initial;
            --tw-inset-shadow-alpha: 100%;
            --tw-ring-color: initial;
            --tw-ring-shadow: 0 0 #0000;
            --tw-inset-ring-color: initial;
            --tw-inset-ring-shadow: 0 0 #0000;
            --tw-ring-inset: initial;
            --tw-ring-offset-width: 0px;
            --tw-ring-offset-color: #fff;
            --tw-ring-offset-shadow: 0 0 #0000;
            --tw-outline-style: solid;
            --tw-blur: initial;
            --tw-brightness: initial;
            --tw-contrast: initial;
            --tw-grayscale: initial;
            --tw-hue-rotate: initial;
            --tw-invert: initial;
            --tw-opacity: initial;
            --tw-saturate: initial;
            --tw-sepia: initial;
            --tw-drop-shadow: initial;
            --tw-drop-shadow-color: initial;
            --tw-drop-shadow-alpha: 100%;
            --tw-drop-shadow-size: initial;
            --tw-backdrop-blur: initial;
            --tw-backdrop-brightness: initial;
            --tw-backdrop-contrast: initial;
            --tw-backdrop-grayscale: initial;
            --tw-backdrop-hue-rotate: initial;
            --tw-backdrop-invert: initial;
            --tw-backdrop-opacity: initial;
            --tw-backdrop-saturate: initial;
            --tw-backdrop-sepia: initial;
            --tw-duration: initial;
            --tw-ease: initial;
            --tw-content: "";
            --tw-animation-delay: 0s;
            --tw-animation-direction: normal;
            --tw-animation-duration: initial;
            --tw-animation-fill-mode: none;
            --tw-animation-iteration-count: 1;
            --tw-enter-blur: 0;
            --tw-enter-opacity: 1;
            --tw-enter-rotate: 0;
            --tw-enter-scale: 1;
            --tw-enter-translate-x: 0;
            --tw-enter-translate-y: 0;
            --tw-exit-blur: 0;
            --tw-exit-opacity: 1;
            --tw-exit-rotate: 0;
            --tw-exit-scale: 1;
            --tw-exit-translate-x: 0;
            --tw-exit-translate-y: 0;
            --scroll-fade-t: 0px;
            --scroll-fade-b: 0px;
            --scroll-fade-s: 0px;
            --scroll-fade-e: 0px;
            --scroll-fade-mask: initial;
            --shimmer-image: initial;
            --shimmer-text-fill: initial
        }
    }
}

@layer theme {

    :root,
    :host {
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --color-black: #000;
        --color-white: #fff;
        --spacing: .25rem;
        --container-xs: 20rem;
        --container-sm: 24rem;
        --text-xs: .75rem;
        --text-xs--line-height: calc(1 / .75);
        --text-sm: .875rem;
        --text-sm--line-height: calc(1.25 / .875);
        --text-base: 1rem;
        --text-base--line-height: calc(1.5 / 1);
        --font-weight-normal: 400;
        --font-weight-medium: 500;
        --tracking-tight: -.025em;
        --tracking-widest: .1em;
        --leading-tight: 1.25;
        --leading-snug: 1.375;
        --leading-normal: 1.5;
        --leading-relaxed: 1.625;
        --radius-sm: .25rem;
        --radius-md: .375rem;
        --radius-lg: .5rem;
        --radius-xl: .75rem;
        --radius-2xl: 1rem;
        --radius-4xl: 2rem;
        --ease-in-out: cubic-bezier(.4, 0, .2, 1);
        --animate-spin: spin 1s linear infinite;
        --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
        --blur-xs: 4px;
        --aspect-video: 16 / 9;
        --default-transition-duration: .15s;
        --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        --default-font-family: var(--font-geist-sans);
        --default-mono-font-family: var(--font-mono);
        --color-border: var(--border)
    }
}

@layer base {

    *,
    :after,
    :before,
    ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    html,
    :host {
        -webkit-text-size-adjust: 100%;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings, normal);
        font-variation-settings: var(--default-font-variation-settings, normal);
        -webkit-tap-highlight-color: transparent
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }

    abbr:where([title]) {
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-size: inherit;
        font-weight: inherit
    }

    a {
        color: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        text-decoration: inherit
    }

    b,
    strong {
        font-weight: bolder
    }

    code,
    kbd,
    samp,
    pre {
        font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings, normal);
        font-variation-settings: var(--default-mono-font-variation-settings, normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

    sub,
    sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative
    }

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol,
    ul,
    menu {
        list-style: none
    }

    img,
    svg,
    video,
    canvas,
    audio,
    iframe,
    embed,
    object {
        vertical-align: middle;
        display: block
    }

    img,
    video {
        max-width: 100%;
        height: auto
    }

    button,
    input,
    select,
    optgroup,
    textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select:is([multiple], [size])) optgroup {
        font-weight: bolder
    }

    :where(select:is([multiple], [size])) optgroup option {
        padding-inline-start: 20px
    }

    ::file-selector-button {
        margin-inline-end: 4px
    }

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color: currentColor
        }

        @supports (color:color-mix(in lab, red, red)) {
            ::placeholder {
                color: color-mix(in oklab, currentcolor 50%, transparent)
            }
        }
    }

    textarea {
        resize: vertical
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block: 0
    }

    ::-webkit-datetime-edit-year-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-month-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-day-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-hour-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-minute-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-second-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-millisecond-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0
    }

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

    :-moz-ui-invalid {
        box-shadow: none
    }

    button,
    input:where([type=button], [type=reset], [type=submit]) {
        appearance: button
    }

    ::file-selector-button {
        appearance: button
    }

    ::-webkit-inner-spin-button {
        height: auto
    }

    ::-webkit-outer-spin-button {
        height: auto
    }

    [hidden]:where(:not([hidden=until-found])) {
        display: none !important
    }
}

@layer components;

@layer utilities {
    .\@container\/card-header {
        container: card-header/inline-size
    }

    .\@container\/field-group {
        container: field-group/inline-size
    }

    .\@container {
        container-type: inline-size
    }

    .pointer-events-auto {
        pointer-events: auto
    }

    .pointer-events-none {
        pointer-events: none
    }

    .collapse {
        visibility: collapse
    }

    .invisible {
        visibility: hidden
    }

    .visible {
        visibility: visible
    }

    .sr-only {
        clip-path: inset(50%);
        white-space: nowrap;
        border-width: 0;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        position: absolute;
        overflow: hidden
    }

    .not-sr-only {
        clip-path: none;
        white-space: normal;
        width: auto;
        height: auto;
        margin: 0;
        padding: 0;
        position: static;
        overflow: visible
    }

    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .sticky {
        position: sticky
    }

    .inset-0 {
        inset: calc(var(--spacing) * 0)
    }

    .inset-x-0 {
        inset-inline: calc(var(--spacing) * 0)
    }

    .inset-x-4 {
        inset-inline: calc(var(--spacing) * 4)
    }

    .inset-y-0 {
        inset-block: calc(var(--spacing) * 0)
    }

    .inset-s-1\/2 {
        inset-inline-start: 50%
    }

    .start {
        inset-inline-start: var(--spacing)
    }

    .end {
        inset-inline-end: var(--spacing)
    }

    .-top-12 {
        top: calc(var(--spacing) * -12)
    }

    .top-0 {
        top: calc(var(--spacing) * 0)
    }

    .top-1\.5 {
        top: calc(var(--spacing) * 1.5)
    }

    .top-1\/2 {
        top: 50%
    }

    .top-1\/3 {
        top: 33.3333%
    }

    .top-2 {
        top: calc(var(--spacing) * 2)
    }

    .top-3 {
        top: calc(var(--spacing) * 3)
    }

    .top-3\.5 {
        top: calc(var(--spacing) * 3.5)
    }

    .top-\[60\%\] {
        top: 60%
    }

    .top-full {
        top: 100%
    }

    .top-px {
        top: 1px
    }

    .-right-12 {
        right: calc(var(--spacing) * -12)
    }

    .right-0 {
        right: calc(var(--spacing) * 0)
    }

    .right-1 {
        right: calc(var(--spacing) * 1)
    }

    .right-2 {
        right: calc(var(--spacing) * 2)
    }

    .right-2\.5 {
        right: calc(var(--spacing) * 2.5)
    }

    .right-3 {
        right: calc(var(--spacing) * 3)
    }

    .-bottom-12 {
        bottom: calc(var(--spacing) * -12)
    }

    .bottom-0 {
        bottom: calc(var(--spacing) * 0)
    }

    .bottom-4 {
        bottom: calc(var(--spacing) * 4)
    }

    .-left-12 {
        left: calc(var(--spacing) * -12)
    }

    .left-1\.5 {
        left: calc(var(--spacing) * 1.5)
    }

    .left-1\/2 {
        left: 50%
    }

    .left-3 {
        left: calc(var(--spacing) * 3)
    }

    .isolate {
        isolation: isolate
    }

    .isolation-auto {
        isolation: auto
    }

    .z-0 {
        z-index: 0
    }

    .z-1 {
        z-index: 1
    }

    .z-10 {
        z-index: 10
    }

    .z-20 {
        z-index: 20
    }

    .z-50 {
        z-index: 50
    }

    .z-\[calc\(1000-var\(--toast-index\)\)\] {
        z-index: calc(1000 - var(--toast-index))
    }

    .order-first {
        order: -9999
    }

    .order-last {
        order: 9999
    }

    .col-start-2 {
        grid-column-start: 2
    }

    .row-span-2 {
        grid-row: span 2/span 2
    }

    .row-start-1 {
        grid-row-start: 1
    }

    .container {
        width: 100%
    }

    @media (width>=40rem) {
        .container {
            max-width: 40rem
        }
    }

    @media (width>=48rem) {
        .container {
            max-width: 48rem
        }
    }

    @media (width>=64rem) {
        .container {
            max-width: 64rem
        }
    }

    @media (width>=80rem) {
        .container {
            max-width: 80rem
        }
    }

    @media (width>=96rem) {
        .container {
            max-width: 96rem
        }
    }

    .m-\(--drawer-inset\,0px\) {
        margin: var(--drawer-inset, 0px)
    }

    .-mx-1 {
        margin-inline: calc(var(--spacing) * -1)
    }

    .-mx-4 {
        margin-inline: calc(var(--spacing) * -4)
    }

    .mx-2 {
        margin-inline: calc(var(--spacing) * 2)
    }

    .mx-3\.5 {
        margin-inline: calc(var(--spacing) * 3.5)
    }

    .mx-auto {
        margin-inline: auto
    }

    .-my-2 {
        margin-block: calc(var(--spacing) * -2)
    }

    .my-0\.5 {
        margin-block: calc(var(--spacing) * .5)
    }

    .my-1 {
        margin-block: calc(var(--spacing) * 1)
    }

    .my-2 {
        margin-block: calc(var(--spacing) * 2)
    }

    .my-auto {
        margin-block: auto
    }

    .-mt-4 {
        margin-top: calc(var(--spacing) * -4)
    }

    .mt-0\.5 {
        margin-top: calc(var(--spacing) * .5)
    }

    .mt-2 {
        margin-top: calc(var(--spacing) * 2)
    }

    .mt-4 {
        margin-top: calc(var(--spacing) * 4)
    }

    .mt-auto {
        margin-top: auto
    }

    .-mb-4 {
        margin-bottom: calc(var(--spacing) * -4)
    }

    .mb-1\.5 {
        margin-bottom: calc(var(--spacing) * 1.5)
    }

    .mb-2 {
        margin-bottom: calc(var(--spacing) * 2)
    }

    .-ml-1 {
        margin-left: calc(var(--spacing) * -1)
    }

    .-ml-4 {
        margin-left: calc(var(--spacing) * -4)
    }

    .ml-1 {
        margin-left: calc(var(--spacing) * 1)
    }

    .ml-4 {
        margin-left: calc(var(--spacing) * 4)
    }

    .ml-auto {
        margin-left: auto
    }

    .line-clamp-1 {
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden
    }

    .line-clamp-2 {
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden
    }

    .no-scrollbar {
        -ms-overflow-style: none;
        scrollbar-width: none
    }

    .no-scrollbar::-webkit-scrollbar {
        display: none
    }

    .block {
        display: block
    }

    .contents {
        display: contents
    }

    .flex {
        display: flex
    }

    .flow-root {
        display: flow-root
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline {
        display: inline
    }

    .inline-block {
        display: inline-block
    }

    .inline-flex {
        display: inline-flex
    }

    .inline-grid {
        display: inline-grid
    }

    .inline-table {
        display: inline-table
    }

    .list-item {
        display: list-item
    }

    .table {
        display: table
    }

    .table-caption {
        display: table-caption
    }

    .table-cell {
        display: table-cell
    }

    .table-column {
        display: table-column
    }

    .table-column-group {
        display: table-column-group
    }

    .table-footer-group {
        display: table-footer-group
    }

    .table-header-group {
        display: table-header-group
    }

    .table-row {
        display: table-row
    }

    .table-row-group {
        display: table-row-group
    }

    .field-sizing-content {
        field-sizing: content
    }

    .aspect-\(--ratio\) {
        aspect-ratio: var(--ratio)
    }

    .aspect-square {
        aspect-ratio: 1
    }

    .aspect-video {
        aspect-ratio: var(--aspect-video)
    }

    .size-\(--cell-size\) {
        width: var(--cell-size);
        height: var(--cell-size)
    }

    .size-2 {
        width: calc(var(--spacing) * 2);
        height: calc(var(--spacing) * 2)
    }

    .size-2\.5 {
        width: calc(var(--spacing) * 2.5);
        height: calc(var(--spacing) * 2.5)
    }

    .size-3 {
        width: calc(var(--spacing) * 3);
        height: calc(var(--spacing) * 3)
    }

    .size-4 {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4)
    }

    .size-5 {
        width: calc(var(--spacing) * 5);
        height: calc(var(--spacing) * 5)
    }

    .size-6 {
        width: calc(var(--spacing) * 6);
        height: calc(var(--spacing) * 6)
    }

    .size-7 {
        width: calc(var(--spacing) * 7);
        height: calc(var(--spacing) * 7)
    }

    .size-8 {
        width: calc(var(--spacing) * 8);
        height: calc(var(--spacing) * 8)
    }

    .size-9 {
        width: calc(var(--spacing) * 9);
        height: calc(var(--spacing) * 9)
    }

    .size-10 {
        width: calc(var(--spacing) * 10);
        height: calc(var(--spacing) * 10)
    }

    .size-auto {
        width: auto;
        height: auto
    }

    .size-full {
        width: 100%;
        height: 100%
    }

    .h-\(--accordion-panel-height\) {
        height: var(--accordion-panel-height)
    }

    .h-\(--cell-size\) {
        height: var(--cell-size)
    }

    .h-\(--drawer-content-height\) {
        height: var(--drawer-content-height)
    }

    .h-\(--height\) {
        height: var(--height)
    }

    .h-\(--popup-height\) {
        height: var(--popup-height)
    }

    .h-\(--positioner-height\) {
        height: var(--positioner-height)
    }

    .h-1 {
        height: calc(var(--spacing) * 1)
    }

    .h-1\.5 {
        height: calc(var(--spacing) * 1.5)
    }

    .h-2 {
        height: calc(var(--spacing) * 2)
    }

    .h-2\.5 {
        height: calc(var(--spacing) * 2.5)
    }

    .h-4 {
        height: calc(var(--spacing) * 4)
    }

    .h-5 {
        height: calc(var(--spacing) * 5)
    }

    .h-6 {
        height: calc(var(--spacing) * 6)
    }

    .h-7 {
        height: calc(var(--spacing) * 7)
    }

    .h-8 {
        height: calc(var(--spacing) * 8)
    }

    .h-8\! {
        height: calc(var(--spacing) * 8) !important
    }

    .h-9 {
        height: calc(var(--spacing) * 9)
    }

    .h-10 {
        height: calc(var(--spacing) * 10)
    }

    .h-12 {
        height: calc(var(--spacing) * 12)
    }

    .h-\[calc\(--spacing\(5\.25\)\)\] {
        height: calc(calc(var(--spacing) * 5.25))
    }

    .h-\[calc\(100\%-1px\)\] {
        height: calc(100% - 1px)
    }

    .h-auto {
        height: auto
    }

    .h-full {
        height: 100%
    }

    .h-max {
        height: max-content
    }

    .h-px {
        height: 1px
    }

    .h-svh {
        height: 100svh
    }

    .max-h-\(--available-height\) {
        max-height: var(--available-height)
    }

    .max-h-\(--drawer-content-max-height\,none\) {
        max-height: var(--drawer-content-max-height, none)
    }

    .max-h-72 {
        max-height: calc(var(--spacing) * 72)
    }

    .max-h-\[min\(calc\(--spacing\(72\)---spacing\(9\)\)\,calc\(var\(--available-height\)---spacing\(9\)\)\)\] {
        max-height: min(calc(calc(var(--spacing) * 72) - calc(var(--spacing) * 9)), calc(var(--available-height) - calc(var(--spacing) * 9)))
    }

    .min-h-0 {
        min-height: calc(var(--spacing) * 0)
    }

    .min-h-4 {
        min-height: calc(var(--spacing) * 4)
    }

    .min-h-8 {
        min-height: calc(var(--spacing) * 8)
    }

    .min-h-16 {
        min-height: calc(var(--spacing) * 16)
    }

    .min-h-dvh {
        min-height: 100dvh
    }

    .min-h-full {
        min-height: 100%
    }

    .min-h-svh {
        min-height: 100svh
    }

    .w-\(--anchor-width\) {
        width: var(--anchor-width)
    }

    .w-\(--cell-size\) {
        width: var(--cell-size)
    }

    .w-\(--drawer-content-width\,auto\) {
        width: var(--drawer-content-width, auto)
    }

    .w-\(--popup-width\) {
        width: var(--popup-width)
    }

    .w-\(--positioner-width\) {
        width: var(--positioner-width)
    }

    .w-\(--sidebar-width\) {
        width: var(--sidebar-width)
    }

    .w-0 {
        width: calc(var(--spacing) * 0)
    }

    .w-1 {
        width: calc(var(--spacing) * 1)
    }

    .w-2 {
        width: calc(var(--spacing) * 2)
    }

    .w-2\.5 {
        width: calc(var(--spacing) * 2.5)
    }

    .w-4 {
        width: calc(var(--spacing) * 4)
    }

    .w-5 {
        width: calc(var(--spacing) * 5)
    }

    .w-10 {
        width: calc(var(--spacing) * 10)
    }

    .w-24 {
        width: calc(var(--spacing) * 24)
    }

    .w-64 {
        width: calc(var(--spacing) * 64)
    }

    .w-72 {
        width: calc(var(--spacing) * 72)
    }

    .w-auto {
        width: auto
    }

    .w-fit {
        width: fit-content
    }

    .w-full {
        width: 100%
    }

    .w-max {
        width: max-content
    }

    .w-px {
        width: 1px
    }

    .max-w-\(--available-width\) {
        max-width: var(--available-width)
    }

    .max-w-\(--skeleton-width\) {
        max-width: var(--skeleton-width)
    }

    .max-w-\[80\%\] {
        max-width: 80%
    }

    .max-w-\[calc\(100\%-2rem\)\] {
        max-width: calc(100% - 2rem)
    }

    .max-w-full {
        max-width: 100%
    }

    .max-w-max {
        max-width: max-content
    }

    .max-w-sm {
        max-width: var(--container-sm)
    }

    .max-w-xs {
        max-width: var(--container-xs)
    }

    .min-w-\(--cell-size\) {
        min-width: var(--cell-size)
    }

    .min-w-0 {
        min-width: calc(var(--spacing) * 0)
    }

    .min-w-5 {
        min-width: calc(var(--spacing) * 5)
    }

    .min-w-7 {
        min-width: calc(var(--spacing) * 7)
    }

    .min-w-8 {
        min-width: calc(var(--spacing) * 8)
    }

    .min-w-9 {
        min-width: calc(var(--spacing) * 9)
    }

    .min-w-16 {
        min-width: calc(var(--spacing) * 16)
    }

    .min-w-32 {
        min-width: calc(var(--spacing) * 32)
    }

    .min-w-36 {
        min-width: calc(var(--spacing) * 36)
    }

    .min-w-40 {
        min-width: calc(var(--spacing) * 40)
    }

    .min-w-\[96px\] {
        min-width: 96px
    }

    .min-w-\[calc\(var\(--anchor-width\)\+--spacing\(7\)\)\] {
        min-width: calc(var(--anchor-width) + calc(var(--spacing) * 7))
    }

    .flex-1 {
        flex: 1
    }

    .shrink {
        flex-shrink: 1
    }

    .shrink-0 {
        flex-shrink: 0
    }

    .grow {
        flex-grow: 1
    }

    .grow-0 {
        flex-grow: 0
    }

    .basis-full {
        flex-basis: 100%
    }

    .caption-bottom {
        caption-side: bottom
    }

    .border-collapse {
        border-collapse: collapse
    }

    .origin-\(--transform-origin\) {
        transform-origin: var(--transform-origin)
    }

    .origin-bottom {
        transform-origin: bottom
    }

    .-translate-x-1\/2 {
        --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .-translate-x-px {
        --tw-translate-x: -1px;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .translate-x-px {
        --tw-translate-x: 1px;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .-translate-y-1\/2 {
        --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .-translate-y-3\/4 {
        --tw-translate-y: calc(calc(3 / 4 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .translate-y-0 {
        --tw-translate-y: calc(var(--spacing) * 0);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .translate-y-3\/4 {
        --tw-translate-y: calc(3 / 4 * 100%);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .translate-y-\[calc\(-50\%-2px\)\] {
        --tw-translate-y: calc(-50% - 2px);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .translate-none {
        translate: none
    }

    .scale-3d {
        scale: var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)
    }

    .rotate-45 {
        rotate: 45deg
    }

    .rotate-90 {
        rotate: 90deg
    }

    .\[transform\:translateX\(var\(--toast-swipe-movement-x\)\)_translateY\(calc\(var\(--toast-swipe-movement-y\)-\(var\(--toast-index\)\*var\(--peek\)\)-\(var\(--shrink\)\*var\(--height\)\)\)\)_scale\(var\(--scale\)\)\] {
        transform: translateX(var(--toast-swipe-movement-x)) translateY(calc(var(--toast-swipe-movement-y) - (var(--toast-index) * var(--peek)) - (var(--shrink) * var(--height)))) scale(var(--scale))
    }

    .transform {
        transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )
    }

    .transform-\[translate3d\(var\(--translate-x\,0px\)\,var\(--translate-y\,0px\)\,0\)_scale\(var\(--stack-scale\)\)\] {
        transform: translate3d(var(--translate-x, 0px), var(--translate-y, 0px), 0) scale(var(--stack-scale))
    }

    .scroll-fade-x {
        --_scroll-fade-size-s: var(--scroll-fade-s-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
        --_scroll-fade-size-e: var(--scroll-fade-e-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
        --scroll-fade-inline: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s, 0px), #000 calc(100% - var(--scroll-fade-e, 0px)), transparent 100%)
    }

    .scroll-fade-x:where([dir=rtl], [dir=rtl] *) {
        --scroll-fade-inline: linear-gradient(to left, transparent 0, #000 var(--scroll-fade-s, 0px), #000 calc(100% - var(--scroll-fade-e, 0px)), transparent 100%)
    }

    .scroll-fade-x {
        -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline));
        -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline));
        -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline));
        -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline));
        mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline));
        -webkit-mask-composite: source-in;
        -webkit-mask-composite: source-in;
        -webkit-mask-composite: source-in;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-composite: source-in;
        mask-composite: intersect
    }

    @supports (animation-timeline:scroll()) {
        .scroll-fade-x {
            animation: 1ms ease-in-out scroll-fade-reveal-s, 1ms ease-in-out scroll-fade-reveal-e;
            animation-timeline: scroll(self inline), scroll(self inline);
            animation-range: 0 var(--scroll-fade-reveal, calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24))) 100%;
            animation-fill-mode: both
        }
    }

    @supports not (animation-timeline:scroll()) {
        .scroll-fade-x {
            --scroll-fade-s: var(--_scroll-fade-size-s);
            --scroll-fade-e: var(--_scroll-fade-size-e)
        }
    }

    .scroll-fade-b {
        --_scroll-fade-size-b: var(--scroll-fade-b-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
        --scroll-fade-mask: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--scroll-fade-b, 0px)), transparent 100%);
        -webkit-mask-image: var(--scroll-fade-mask);
        -webkit-mask-image: var(--scroll-fade-mask);
        -webkit-mask-image: var(--scroll-fade-mask);
        -webkit-mask-image: var(--scroll-fade-mask);
        mask-image: var(--scroll-fade-mask);
        -webkit-mask-composite: source-in;
        -webkit-mask-composite: source-in;
        -webkit-mask-composite: source-in;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-composite: source-in;
        mask-composite: intersect
    }

    @supports (animation-timeline:scroll()) {
        .scroll-fade-b {
            animation: 1ms ease-in-out scroll-fade-reveal-b;
            animation-timeline: scroll(self y);
            animation-range: calc(100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24))) 100%;
            animation-fill-mode: both
        }
    }

    @supports not (animation-timeline:scroll()) {
        .scroll-fade-b {
            --scroll-fade-b: var(--_scroll-fade-size-b)
        }
    }

    .animate-caret-blink {
        animation: 1.25s ease-out infinite caret-blink
    }

    .animate-pulse {
        animation: var(--animate-pulse)
    }

    .animate-spin {
        animation: var(--animate-spin)
    }

    .cursor-default {
        cursor: default
    }

    .cursor-grab {
        cursor: grab
    }

    .cursor-text {
        cursor: text
    }

    .touch-pinch-zoom {
        --tw-pinch-zoom: pinch-zoom;
        touch-action: var(--tw-pan-x, ) var(--tw-pan-y, ) var(--tw-pinch-zoom, )
    }

    .touch-manipulation {
        touch-action: manipulation
    }

    .touch-none {
        touch-action: none
    }

    .resize {
        resize: both
    }

    .resize-none {
        resize: none
    }

    .snap-x {
        scroll-snap-type: x var(--tw-scroll-snap-strictness)
    }

    .snap-mandatory {
        --tw-scroll-snap-strictness: mandatory
    }

    .scroll-my-1 {
        scroll-margin-block: calc(var(--spacing) * 1)
    }

    .scroll-px-1 {
        scroll-padding-inline: calc(var(--spacing) * 1)
    }

    .scroll-py-1 {
        scroll-padding-block: calc(var(--spacing) * 1)
    }

    .list-disc {
        list-style-type: disc
    }

    .list-none {
        list-style-type: none
    }

    .appearance-none {
        appearance: none
    }

    .auto-rows-min {
        grid-auto-rows: min-content
    }

    .grid-rows-\[auto_1fr\] {
        grid-template-rows: auto 1fr
    }

    .flex-col {
        flex-direction: column
    }

    .flex-col-reverse {
        flex-direction: column-reverse
    }

    .flex-row {
        flex-direction: row
    }

    .flex-wrap {
        flex-wrap: wrap
    }

    .place-content-center {
        place-content: center
    }

    .place-items-center {
        place-items: center
    }

    .items-center {
        align-items: center
    }

    .items-end {
        align-items: flex-end
    }

    .items-start {
        align-items: flex-start
    }

    .items-stretch {
        align-items: stretch
    }

    .justify-between {
        justify-content: space-between
    }

    .justify-center {
        justify-content: center
    }

    .justify-start {
        justify-content: flex-start
    }

    .gap-\(--card-spacing\) {
        gap: var(--card-spacing)
    }

    .gap-0 {
        gap: calc(var(--spacing) * 0)
    }

    .gap-0\.5 {
        gap: calc(var(--spacing) * .5)
    }

    .gap-1 {
        gap: calc(var(--spacing) * 1)
    }

    .gap-1\.5 {
        gap: calc(var(--spacing) * 1.5)
    }

    .gap-2 {
        gap: calc(var(--spacing) * 2)
    }

    .gap-2\.5 {
        gap: calc(var(--spacing) * 2.5)
    }

    .gap-3 {
        gap: calc(var(--spacing) * 3)
    }

    .gap-4 {
        gap: calc(var(--spacing) * 4)
    }

    .gap-5 {
        gap: calc(var(--spacing) * 5)
    }

    .gap-6 {
        gap: calc(var(--spacing) * 6)
    }

    .gap-\[--spacing\(var\(--gap\)\)\] {
        gap: calc(var(--spacing) * var(--gap))
    }

    :where(.space-y-reverse>:not(:last-child)) {
        --tw-space-y-reverse: 1
    }

    :where(.-space-x-2>:not(:last-child)) {
        --tw-space-x-reverse: 0;
        margin-inline-start: calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));
        margin-inline-end: calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)))
    }

    :where(.space-x-reverse>:not(:last-child)) {
        --tw-space-x-reverse: 1
    }

    :where(.divide-x>:not(:last-child)) {
        --tw-divide-x-reverse: 0;
        border-inline-style: var(--tw-border-style);
        border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));
        border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)))
    }

    :where(.divide-y>:not(:last-child)) {
        --tw-divide-y-reverse: 0;
        border-bottom-style: var(--tw-border-style);
        border-top-style: var(--tw-border-style);
        border-top-width: calc(1px * var(--tw-divide-y-reverse));
        border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)))
    }

    :where(.divide-y-reverse>:not(:last-child)) {
        --tw-divide-y-reverse: 1
    }

    .self-end {
        align-self: flex-end
    }

    .self-start {
        align-self: flex-start
    }

    .self-stretch {
        align-self: stretch
    }

    .justify-self-end {
        justify-self: flex-end
    }

    .truncate {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden
    }

    .overflow-auto {
        overflow: auto
    }

    .overflow-hidden {
        overflow: hidden
    }

    .overflow-x-auto {
        overflow-x: auto
    }

    .overflow-x-hidden {
        overflow-x: hidden
    }

    .overflow-y-auto {
        overflow-y: auto
    }

    .overscroll-contain {
        overscroll-behavior: contain
    }

    .overscroll-x-contain {
        overscroll-behavior-x: contain
    }

    .rounded-\(--cell-radius\) {
        border-radius: var(--cell-radius)
    }

    .rounded-2xl {
        border-radius: var(--radius-2xl)
    }

    .rounded-4xl {
        border-radius: var(--radius-4xl)
    }

    .rounded-\[2px\] {
        border-radius: 2px
    }

    .rounded-\[4px\] {
        border-radius: 4px
    }

    .rounded-\[calc\(var\(--radius\)-3px\)\] {
        border-radius: calc(var(--radius) - 3px)
    }

    .rounded-\[inherit\] {
        border-radius: inherit
    }

    .rounded-\[min\(var\(--radius-md\)\,10px\)\] {
        border-radius: min(var(--radius-md), 10px)
    }

    .rounded-\[min\(var\(--radius-md\)\,12px\)\] {
        border-radius: min(var(--radius-md), 12px)
    }

    .rounded-full {
        border-radius: 2147483647px
    }

    .rounded-lg {
        border-radius: var(--radius-lg)
    }

    .rounded-lg\! {
        border-radius: var(--radius-lg) !important
    }

    .rounded-md {
        border-radius: var(--radius-md)
    }

    .rounded-none {
        border-radius: 0
    }

    .rounded-sm {
        border-radius: var(--radius-sm)
    }

    .rounded-xl {
        border-radius: var(--radius-xl)
    }

    .rounded-xl\! {
        border-radius: var(--radius-xl) !important
    }

    .rounded-s {
        border-start-start-radius: .25rem;
        border-end-start-radius: .25rem
    }

    .rounded-ss {
        border-start-start-radius: .25rem
    }

    .rounded-e {
        border-start-end-radius: .25rem;
        border-end-end-radius: .25rem
    }

    .rounded-se {
        border-start-end-radius: .25rem
    }

    .rounded-ee {
        border-end-end-radius: .25rem
    }

    .rounded-es {
        border-end-start-radius: .25rem
    }

    .rounded-t {
        border-top-left-radius: .25rem;
        border-top-right-radius: .25rem
    }

    .rounded-t-xl {
        border-top-left-radius: var(--radius-xl);
        border-top-right-radius: var(--radius-xl)
    }

    .rounded-l {
        border-top-left-radius: .25rem;
        border-bottom-left-radius: .25rem
    }

    .rounded-l-\(--cell-radius\) {
        border-top-left-radius: var(--cell-radius);
        border-bottom-left-radius: var(--cell-radius)
    }

    .rounded-tl {
        border-top-left-radius: .25rem
    }

    .rounded-tl-sm {
        border-top-left-radius: var(--radius-sm)
    }

    .rounded-r {
        border-top-right-radius: .25rem;
        border-bottom-right-radius: .25rem
    }

    .rounded-r-\(--cell-radius\) {
        border-top-right-radius: var(--cell-radius);
        border-bottom-right-radius: var(--cell-radius)
    }

    .rounded-tr {
        border-top-right-radius: .25rem
    }

    .rounded-b {
        border-bottom-right-radius: .25rem;
        border-bottom-left-radius: .25rem
    }

    .rounded-b-xl {
        border-bottom-right-radius: var(--radius-xl);
        border-bottom-left-radius: var(--radius-xl)
    }

    .rounded-br {
        border-bottom-right-radius: .25rem
    }

    .rounded-bl {
        border-bottom-left-radius: .25rem
    }

    .border {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .border-0 {
        border-style: var(--tw-border-style);
        border-width: 0
    }

    .border-\[1\.5px\] {
        border-style: var(--tw-border-style);
        border-width: 1.5px
    }

    .border-x {
        border-inline-style: var(--tw-border-style);
        border-inline-width: 1px
    }

    .border-y {
        border-block-style: var(--tw-border-style);
        border-block-width: 1px
    }

    .border-s {
        border-inline-start-style: var(--tw-border-style);
        border-inline-start-width: 1px
    }

    .border-e {
        border-inline-end-style: var(--tw-border-style);
        border-inline-end-width: 1px
    }

    .border-bs {
        border-block-start-style: var(--tw-border-style);
        border-block-start-width: 1px
    }

    .border-be {
        border-block-end-style: var(--tw-border-style);
        border-block-end-width: 1px
    }

    .border-t {
        border-top-style: var(--tw-border-style);
        border-top-width: 1px
    }

    .border-r {
        border-right-style: var(--tw-border-style);
        border-right-width: 1px
    }

    .border-b {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px
    }

    .border-l {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

    .border-dashed {
        --tw-border-style: dashed;
        border-style: dashed
    }

    .border-none {
        --tw-border-style: none;
        border-style: none
    }

    .border-\(--color-border\) {
        border-color: var(--color-border)
    }

    .border-border,
    .border-border\/50 {
        border-color: var(--border)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .border-border\/50 {
            border-color: color-mix(in oklab, var(--border) 50%, transparent)
        }
    }

    .border-ring {
        border-color: var(--primary)
    }

    .border-transparent {
        border-color: #0000
    }

    .bg-\(--color-bg\) {
        background-color: var(--color-bg)
    }

    .bg-\[Canvas\] {
        background-color: canvas
    }

    .bg-background {
        background-color: var(--background)
    }

    .bg-black\/10 {
        background-color: #0000001a
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-black\/10 {
            background-color: color-mix(in oklab, var(--color-black) 10%, transparent)
        }
    }

    .bg-border {
        background-color: var(--border)
    }

    .bg-foreground {
        background-color: var(--foreground)
    }

    .bg-muted,
    .bg-muted\/50 {
        background-color: var(--card)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-muted\/50 {
            background-color: color-mix(in oklab, var(--card) 50%, transparent)
        }
    }

    .bg-primary {
        background-color: var(--primary)
    }

    .bg-primary-foreground {
        background-color: var(--primary-foreground)
    }

    .bg-transparent {
        background-color: #0000
    }

    .bg-white {
        background-color: var(--color-white)
    }

    .bg-clip-padding {
        background-clip: padding-box
    }

    .bg-repeat {
        background-repeat: repeat
    }

    .mask-no-clip {
        -webkit-mask-clip: no-clip;
        mask-clip: no-clip
    }

    .mask-repeat {
        -webkit-mask-repeat: repeat;
        mask-repeat: repeat
    }

    .fill-foreground {
        fill: var(--foreground)
    }

    .object-cover {
        object-fit: cover
    }

    .p-\(--card-spacing\) {
        padding: var(--card-spacing)
    }

    .p-0 {
        padding: calc(var(--spacing) * 0)
    }

    .p-1 {
        padding: calc(var(--spacing) * 1)
    }

    .p-2 {
        padding: calc(var(--spacing) * 2)
    }

    .p-2\.5 {
        padding: calc(var(--spacing) * 2.5)
    }

    .p-4 {
        padding: calc(var(--spacing) * 4)
    }

    .p-6 {
        padding: calc(var(--spacing) * 6)
    }

    .p-\[3px\] {
        padding: 3px
    }

    .p-px {
        padding: 1px
    }

    .px-\(--card-spacing\) {
        padding-inline: var(--card-spacing)
    }

    .px-\(--cell-size\) {
        padding-inline: var(--cell-size)
    }

    .px-1 {
        padding-inline: calc(var(--spacing) * 1)
    }

    .px-1\.5 {
        padding-inline: calc(var(--spacing) * 1.5)
    }

    .px-2 {
        padding-inline: calc(var(--spacing) * 2)
    }

    .px-2\.5 {
        padding-inline: calc(var(--spacing) * 2.5)
    }

    .px-3 {
        padding-inline: calc(var(--spacing) * 3)
    }

    .py-\(--card-spacing\) {
        padding-block: var(--card-spacing)
    }

    .py-0\.5 {
        padding-block: calc(var(--spacing) * .5)
    }

    .py-1 {
        padding-block: calc(var(--spacing) * 1)
    }

    .py-1\.5 {
        padding-block: calc(var(--spacing) * 1.5)
    }

    .py-2 {
        padding-block: calc(var(--spacing) * 2)
    }

    .py-2\.5 {
        padding-block: calc(var(--spacing) * 2.5)
    }

    .py-6 {
        padding-block: calc(var(--spacing) * 6)
    }

    .py-\[2px\] {
        padding-block: 2px
    }

    .pt-0 {
        padding-top: calc(var(--spacing) * 0)
    }

    .pt-2 {
        padding-top: calc(var(--spacing) * 2)
    }

    .pt-3 {
        padding-top: calc(var(--spacing) * 3)
    }

    .pt-4 {
        padding-top: calc(var(--spacing) * 4)
    }

    .pr-1\.5 {
        padding-right: calc(var(--spacing) * 1.5)
    }

    .pr-1\.5\! {
        padding-right: calc(var(--spacing) * 1.5) !important
    }

    .pr-2 {
        padding-right: calc(var(--spacing) * 2)
    }

    .pr-8 {
        padding-right: calc(var(--spacing) * 8)
    }

    .pb-0 {
        padding-bottom: calc(var(--spacing) * 0)
    }

    .pb-2 {
        padding-bottom: calc(var(--spacing) * 2)
    }

    .pb-2\.5 {
        padding-bottom: calc(var(--spacing) * 2.5)
    }

    .pb-3 {
        padding-bottom: calc(var(--spacing) * 3)
    }

    .pl-1\.5 {
        padding-left: calc(var(--spacing) * 1.5)
    }

    .pl-1\.5\! {
        padding-left: calc(var(--spacing) * 1.5) !important
    }

    .pl-2 {
        padding-left: calc(var(--spacing) * 2)
    }

    .pl-2\.5 {
        padding-left: calc(var(--spacing) * 2.5)
    }

    .pl-4 {
        padding-left: calc(var(--spacing) * 4)
    }

    .pl-7 {
        padding-left: calc(var(--spacing) * 7)
    }

    .text-center {
        text-align: center
    }

    .text-left {
        text-align: left
    }

    .align-middle {
        vertical-align: middle
    }

    .font-mono {
        font-family: var(--font-mono)
    }

    .font-sans {
        font-family: var(--font-geist-sans)
    }

    .text-base {
        font-size: var(--text-base);
        line-height: var(--tw-leading, var(--text-base--line-height))
    }

    .text-sm {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height))
    }

    .text-sm\/relaxed {
        font-size: var(--text-sm);
        line-height: var(--leading-relaxed)
    }

    .text-xs {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height))
    }

    .text-\[0\.8rem\] {
        font-size: .8rem
    }

    .leading-none {
        --tw-leading: 1;
        line-height: 1
    }

    .leading-normal {
        --tw-leading: var(--leading-normal);
        line-height: var(--leading-normal)
    }

    .leading-relaxed {
        --tw-leading: var(--leading-relaxed);
        line-height: var(--leading-relaxed)
    }

    .leading-snug {
        --tw-leading: var(--leading-snug);
        line-height: var(--leading-snug)
    }

    .leading-tight {
        --tw-leading: var(--leading-tight);
        line-height: var(--leading-tight)
    }

    .font-medium {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .font-normal {
        --tw-font-weight: var(--font-weight-normal);
        font-weight: var(--font-weight-normal)
    }

    .tracking-tight {
        --tw-tracking: var(--tracking-tight);
        letter-spacing: var(--tracking-tight)
    }

    .tracking-widest {
        --tw-tracking: var(--tracking-widest);
        letter-spacing: var(--tracking-widest)
    }

    .text-balance {
        text-wrap: balance
    }

    .text-wrap {
        text-wrap: wrap
    }

    .wrap-break-word {
        overflow-wrap: break-word
    }

    .text-clip {
        text-overflow: clip
    }

    .text-ellipsis {
        text-overflow: ellipsis
    }

    .whitespace-nowrap {
        white-space: nowrap
    }

    .text-\[CanvasText\] {
        color: canvastext
    }

    .text-background {
        color: var(--background)
    }

    .text-current {
        color: currentColor
    }

    .text-foreground,
    .text-foreground\/60 {
        color: var(--foreground)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-foreground\/60 {
            color: color-mix(in oklab, var(--foreground) 60%, transparent)
        }
    }

    .text-primary {
        color: var(--primary)
    }

    .text-primary-foreground {
        color: var(--primary-foreground)
    }

    .capitalize {
        text-transform: capitalize
    }

    .lowercase {
        text-transform: lowercase
    }

    .normal-case {
        text-transform: none
    }

    .uppercase {
        text-transform: uppercase
    }

    .italic {
        font-style: italic
    }

    .not-italic {
        font-style: normal
    }

    .diagonal-fractions {
        --tw-numeric-fraction: diagonal-fractions;
        font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )
    }

    .lining-nums {
        --tw-numeric-figure: lining-nums;
        font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )
    }

    .oldstyle-nums {
        --tw-numeric-figure: oldstyle-nums;
        font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )
    }

    .ordinal {
        --tw-ordinal: ordinal;
        font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )
    }

    .proportional-nums {
        --tw-numeric-spacing: proportional-nums;
        font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )
    }

    .slashed-zero {
        --tw-slashed-zero: slashed-zero;
        font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )
    }

    .stacked-fractions {
        --tw-numeric-fraction: stacked-fractions;
        font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )
    }

    .tabular-nums {
        --tw-numeric-spacing: tabular-nums;
        font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )
    }

    .normal-nums {
        font-variant-numeric: normal
    }

    .line-through {
        text-decoration-line: line-through
    }

    .no-underline {
        text-decoration-line: none
    }

    .overline {
        text-decoration-line: overline
    }

    .underline {
        text-decoration-line: underline
    }

    .underline-offset-4 {
        text-underline-offset: 4px
    }

    .antialiased {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale
    }

    .subpixel-antialiased {
        -webkit-font-smoothing: auto;
        -moz-osx-font-smoothing: auto
    }

    .opacity-0 {
        opacity: 0
    }

    .opacity-50 {
        opacity: .5
    }

    .opacity-60 {
        opacity: .6
    }

    .opacity-\[max\(var\(--drawer-overlay-min-opacity\,0\)\,calc\(1-var\(--drawer-swipe-progress\)\)\)\] {
        opacity: max(var(--drawer-overlay-min-opacity, 0), calc(1 - var(--drawer-swipe-progress)))
    }

    .bg-blend-color {
        background-blend-mode: color
    }

    .shadow {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-\[0_0_0_1px_var\(--sidebar-border\)\] {
        --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-border));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-lg {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-md {
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-none {
        --tw-shadow: 0 0 #0000;
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-none\! {
        --tw-shadow: 0 0 #0000 !important;
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important
    }

    .shadow-xl {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .ring-0 {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .ring-1 {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .ring-2 {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .ring-3 {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .inset-ring {
        --tw-inset-ring-shadow: inset 0 0 0 1px var(--tw-inset-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .ring-background {
        --tw-ring-color: var(--background)
    }

    .ring-foreground\/10 {
        --tw-ring-color: var(--foreground)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .ring-foreground\/10 {
            --tw-ring-color: color-mix(in oklab, var(--foreground) 10%, transparent)
        }
    }

    .ring-ring\/50 {
        --tw-ring-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .ring-ring\/50 {
            --tw-ring-color: color-mix(in oklab, var(--primary) 50%, transparent)
        }
    }

    .ring-offset-background {
        --tw-ring-offset-color: var(--background)
    }

    .outline-hidden {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .outline-hidden {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .outline {
        outline-style: var(--tw-outline-style);
        outline-width: 1px
    }

    .blur {
        --tw-blur: blur(8px);
        filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )
    }

    .drop-shadow {
        --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, #0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color, #0000000f));
        --tw-drop-shadow: drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);
        filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )
    }

    .filter {
        filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )
    }

    .backdrop-blur {
        --tw-backdrop-blur: blur(8px);
        -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
        backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )
    }

    .backdrop-grayscale {
        --tw-backdrop-grayscale: grayscale(100%);
        -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
        backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )
    }

    .backdrop-invert {
        --tw-backdrop-invert: invert(100%);
        -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
        backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )
    }

    .backdrop-sepia {
        --tw-backdrop-sepia: sepia(100%);
        -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
        backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )
    }

    .backdrop-filter {
        -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
        backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )
    }

    .transition {
        transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-\[color\,box-shadow\] {
        transition-property: color, box-shadow;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-\[left\,right\,width\] {
        transition-property: left, right, width;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-\[margin\,opacity\] {
        transition-property: margin, opacity;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-\[opacity\,transform\,translate\] {
        transition-property: opacity, transform, translate;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-\[opacity\,transform\,width\,height\,scale\,translate\] {
        transition-property: opacity, transform, width, height, scale, translate;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-\[top\,left\,right\,bottom\] {
        transition-property: top, left, right, bottom;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-\[transform\,height\,opacity\,filter\] {
        transition-property: transform, height, opacity, filter;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-\[translate\,scale\,opacity\] {
        transition-property: translate, scale, opacity;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-\[width\,height\,padding\] {
        transition-property: width, height, padding;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-\[width\] {
        transition-property: width;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-all {
        transition-property: all;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-colors {
        transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-opacity {
        transition-property: opacity;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-transform {
        transition-property: transform, translate, scale, rotate;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-none {
        transition-property: none
    }

    .duration-100 {
        --tw-duration: .1s;
        transition-duration: .1s
    }

    .duration-150 {
        --tw-duration: .15s;
        transition-duration: .15s
    }

    .duration-200 {
        --tw-duration: .2s;
        transition-duration: .2s
    }

    .duration-250 {
        --tw-duration: .25s;
        transition-duration: .25s
    }

    .duration-300 {
        --tw-duration: .3s;
        transition-duration: .3s
    }

    .duration-450 {
        --tw-duration: .45s;
        transition-duration: .45s
    }

    .duration-1000 {
        --tw-duration: 1s;
        transition-duration: 1s
    }

    .duration-\[0\.35s\] {
        --tw-duration: .35s;
        transition-duration: .35s
    }

    .ease-\[cubic-bezier\(0\.22\,1\,0\.36\,1\)\] {
        --tw-ease: cubic-bezier(.22, 1, .36, 1);
        transition-timing-function: cubic-bezier(.22, 1, .36, 1)
    }

    .ease-\[cubic-bezier\(0\.32\,0\.72\,0\,1\)\] {
        --tw-ease: cubic-bezier(.32, .72, 0, 1);
        transition-timing-function: cubic-bezier(.32, .72, 0, 1)
    }

    .ease-\[cubic-bezier\(0\.45\,1\.005\,0\,1\.005\)\] {
        --tw-ease: cubic-bezier(.45, 1.005, 0, 1.005);
        transition-timing-function: cubic-bezier(.45, 1.005, 0, 1.005)
    }

    .ease-in-out {
        --tw-ease: var(--ease-in-out);
        transition-timing-function: var(--ease-in-out)
    }

    .ease-linear {
        --tw-ease: linear;
        transition-timing-function: linear
    }

    .will-change-transform {
        will-change: transform
    }

    .contain-content {
        contain: content
    }

    .outline-none {
        --tw-outline-style: none;
        outline-style: none
    }

    .select-none {
        -webkit-user-select: none;
        user-select: none
    }

    .select-text {
        -webkit-user-select: text;
        user-select: text
    }

    .\[--bleed\:3rem\] {
        --bleed: 3rem
    }

    .\[--card-spacing\:--spacing\(4\)\] {
        --card-spacing: calc(var(--spacing) * 4)
    }

    .\[--cell-radius\:var\(--radius-md\)\] {
        --cell-radius: var(--radius-md)
    }

    .\[--cell-size\:--spacing\(7\)\] {
        --cell-size: calc(var(--spacing) * 7)
    }

    .\[--drawer-content-height\:var\(--drawer-height\,auto\)\] {
        --drawer-content-height: var(--drawer-height, auto)
    }

    .\[--gap\:0\.75rem\] {
        --gap: .75rem
    }

    .\[--height\:var\(--toast-frontmost-height\,var\(--toast-height\)\)\] {
        --height: var(--toast-frontmost-height, var(--toast-height))
    }

    .\[--offset-y\:calc\(var\(--toast-offset-y\)\*-1\+calc\(var\(--toast-index\)\*var\(--gap\)\*-1\)\+var\(--toast-swipe-movement-y\)\)\] {
        --offset-y: calc(var(--toast-offset-y) * -1 + calc(var(--toast-index) * var(--gap) * -1) + var(--toast-swipe-movement-y))
    }

    .\[--peek\:0\.75rem\] {
        --peek: .75rem
    }

    .\[--peek\:1rem\] {
        --peek: 1rem
    }

    .\[--scale\:calc\(max\(0\,1-\(var\(--toast-index\)\*0\.1\)\)\)\] {
        --scale: calc(max(0, 1 - (var(--toast-index) * .1)))
    }

    .\[--shrink\:calc\(1-var\(--scale\)\)\] {
        --shrink: calc(1 - var(--scale))
    }

    .\[--stack-height\:var\(--drawer-frontmost-height\,var\(--drawer-height\,0px\)\)\] {
        --stack-height: var(--drawer-frontmost-height, var(--drawer-height, 0px))
    }

    .\[--stack-peek-offset\:max\(0px\,calc\(\(var\(--nested-drawers\)-var\(--stack-progress\)\)\*var\(--peek\)\)\)\] {
        --stack-peek-offset: max(0px, calc((var(--nested-drawers) - var(--stack-progress)) * var(--peek)))
    }

    .\[--stack-progress\:clamp\(0\,var\(--drawer-swipe-progress\)\,1\)\] {
        --stack-progress: clamp(0, var(--drawer-swipe-progress), 1)
    }

    .\[--stack-scale-base\:max\(0\,calc\(1-\(var\(--nested-drawers\)\*var\(--stack-step\)\)\)\)\] {
        --stack-scale-base: max(0, calc(1 - (var(--nested-drawers) * var(--stack-step))))
    }

    .\[--stack-scale\:clamp\(0\,calc\(var\(--stack-scale-base\)\+\(var\(--stack-step\)\*var\(--stack-progress\)\)\)\,1\)\] {
        --stack-scale: clamp(0, calc(var(--stack-scale-base) + (var(--stack-step) * var(--stack-progress))), 1)
    }

    .\[--stack-shrink\:calc\(1-var\(--stack-scale\)\)\] {
        --stack-shrink: calc(1 - var(--stack-scale))
    }

    .\[--stack-step\:0\.05\] {
        --stack-step: .05
    }

    .\[contain-intrinsic-size\:auto_10rem\] {
        contain-intrinsic-size: auto 10rem
    }

    .\[content-visibility\:auto\] {
        content-visibility: auto
    }

    .\[interpolate-size\:allow-keywords\] {
        interpolate-size: allow-keywords
    }

    .\[transition\:transform_500ms_cubic-bezier\(0\.22\,1\,0\.36\,1\)\,opacity_500ms\,height_150ms\] {
        transition: transform .5s cubic-bezier(.22, 1, .36, 1), opacity .5s, height .15s
    }

    :where(.divide-x-reverse>:not(:last-child)) {
        --tw-divide-x-reverse: 1
    }

    .paused {
        animation-play-state: paused
    }

    .ring-inset {
        --tw-ring-inset: inset
    }

    .running {
        animation-play-state: running
    }

    .zoom-in {
        --tw-enter-scale: 0
    }

    .zoom-out {
        --tw-exit-scale: 0
    }

    :is(.\*\:w-full>*) {
        width: 100%
    }

    .not-last\:border-b:not(:last-child) {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px
    }

    .group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *) {
        opacity: 1
    }

    @media (hover:hover) {
        .group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *) {
            opacity: 1
        }
    }

    .group-has-disabled\/field\:opacity-50:is(:where(.group\/field):has(:disabled) *) {
        opacity: .5
    }

    .group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *) {
        padding-right: calc(var(--spacing) * 8)
    }

    .group-has-data-\[size\=lg\]\/avatar-group\:size-10:is(:where(.group\/avatar-group):has([data-size=lg]) *) {
        width: calc(var(--spacing) * 10);
        height: calc(var(--spacing) * 10)
    }

    .group-has-data-\[size\=sm\]\/avatar-group\:size-6:is(:where(.group\/avatar-group):has([data-size=sm]) *) {
        width: calc(var(--spacing) * 6);
        height: calc(var(--spacing) * 6)
    }

    .group-has-data-\[slot\=combobox-clear\]\/input-group\:hidden:is(:where(.group\/input-group):has([data-slot=combobox-clear]) *),
    .group-has-data-\[slot\=command-shortcut\]\/command-item\:hidden:is(:where(.group\/command-item):has([data-slot=command-shortcut]) *) {
        display: none
    }

    .group-has-data-\[slot\=item-description\]\/item\:translate-y-0\.5:is(:where(.group\/item):has([data-slot=item-description]) *) {
        --tw-translate-y: calc(var(--spacing) * .5);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .group-has-data-\[slot\=item-description\]\/item\:self-start:is(:where(.group\/item):has([data-slot=item-description]) *) {
        align-self: flex-start
    }

    .group-has-data-\[slot\=message-footer\]\/message\:-translate-y-8:is(:where(.group\/message):has([data-slot=message-footer]) *) {
        --tw-translate-y: calc(var(--spacing) * -8);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .group-has-data-\[variant\=ghost\]\/message\:px-0:is(:where(.group\/message):has([data-variant=ghost]) *) {
        padding-inline: calc(var(--spacing) * 0)
    }

    .group-has-data-horizontal\/field\:text-balance:is(:where(.group\/field):has(:where([data-orientation=horizontal])) *) {
        text-wrap: balance
    }

    .group-has-\[\:focus-visible\]\/field-label\:border-transparent:is(:where(.group\/field-label):has(:focus-visible) *) {
        border-color: #0000
    }

    .group-has-\[\:focus-visible\]\/field-label\:ring-0:is(:where(.group\/field-label):has(:focus-visible) *) {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .group-has-\[\>input\]\/input-group\:pt-2:is(:where(.group\/input-group):has(>input) *) {
        padding-top: calc(var(--spacing) * 2)
    }

    .group-has-\[\>input\]\/input-group\:pb-2:is(:where(.group\/input-group):has(>input) *) {
        padding-bottom: calc(var(--spacing) * 2)
    }

    .group-has-\[\>svg\]\/alert\:col-start-2:is(:where(.group\/alert):has(>svg) *) {
        grid-column-start: 2
    }

    .group-aria-expanded\/accordion-trigger\:hidden:is(:where(.group\/accordion-trigger)[aria-expanded=true] *) {
        display: none
    }

    .group-aria-expanded\/accordion-trigger\:inline:is(:where(.group\/accordion-trigger)[aria-expanded=true] *) {
        display: inline
    }

    .group-data-empty\/combobox-content\:flex:is(:where(.group\/combobox-content)[data-empty] *) {
        display: flex
    }

    .group-data-nested-drawer-open\/drawer-popup\:opacity-0:is(:where(.group\/drawer-popup)[data-nested-drawer-open] *) {
        opacity: 0
    }

    .group-data-nested-drawer-swiping\/drawer-popup\:opacity-100:is(:where(.group\/drawer-popup)[data-nested-drawer-swiping] *) {
        opacity: 1
    }

    .group-data-popup-open\/navigation-menu-trigger\:rotate-180:is(:where(.group\/navigation-menu-trigger)[data-popup-open] *) {
        rotate: 180deg
    }

    .group-data-swiping\/drawer-popup\:select-none:is(:where(.group\/drawer-popup)[data-swiping] *) {
        -webkit-user-select: none;
        user-select: none
    }

    .group-data-\[align\=end\]\/bubble\:self-end:is(:where(.group\/bubble)[data-align=end] *) {
        align-self: flex-end
    }

    .group-data-\[align\=end\]\/message\:justify-end:is(:where(.group\/message)[data-align=end] *) {
        justify-content: flex-end
    }

    .group-data-\[align\=end\]\/message\:self-end:is(:where(.group\/message)[data-align=end] *) {
        align-self: flex-end
    }

    .group-data-\[checked\=true\]\/command-item\:opacity-100:is(:where(.group\/command-item)[data-checked=true] *) {
        opacity: 1
    }

    .group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *) {
        margin-top: calc(var(--spacing) * -8)
    }

    .group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *) {
        display: none
    }

    .group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *) {
        width: calc(var(--spacing) * 8) !important;
        height: calc(var(--spacing) * 8) !important
    }

    .group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *) {
        width: var(--sidebar-width-icon)
    }

    .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *) {
        width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))
    }

    .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *) {
        width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)
    }

    .group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *) {
        overflow: hidden
    }

    .group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *) {
        padding: calc(var(--spacing) * 0) !important
    }

    .group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *) {
        padding: calc(var(--spacing) * 2) !important
    }

    .group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *) {
        opacity: 0
    }

    .group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *) {
        width: calc(var(--spacing) * 0)
    }

    .group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *) {
        --tw-translate-x: calc(var(--spacing) * 0);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *) {
        pointer-events: none
    }

    .group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),
    .group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *),
    .group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *) {
        opacity: .5
    }

    .group-data-\[focused\=true\]\/day\:relative:is(:where(.group\/day)[data-focused=true] *) {
        position: relative
    }

    .group-data-\[focused\=true\]\/day\:z-10:is(:where(.group\/day)[data-focused=true] *) {
        z-index: 10
    }

    .group-data-\[focused\=true\]\/day\:border-ring:is(:where(.group\/day)[data-focused=true] *) {
        border-color: var(--primary)
    }

    .group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(:where(.group\/day)[data-focused=true] *) {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *) {
        --tw-ring-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *) {
            --tw-ring-color: color-mix(in oklab, var(--primary) 50%, transparent)
        }
    }

    .group-data-\[orientation\=vertical\]\/attachment\:absolute:is(:where(.group\/attachment)[data-orientation=vertical] *) {
        position: absolute
    }

    .group-data-\[orientation\=vertical\]\/attachment\:top-3:is(:where(.group\/attachment)[data-orientation=vertical] *) {
        top: calc(var(--spacing) * 3)
    }

    .group-data-\[orientation\=vertical\]\/attachment\:right-3:is(:where(.group\/attachment)[data-orientation=vertical] *) {
        right: calc(var(--spacing) * 3)
    }

    .group-data-\[orientation\=vertical\]\/attachment\:w-full:is(:where(.group\/attachment)[data-orientation=vertical] *) {
        width: 100%
    }

    .group-data-\[orientation\=vertical\]\/attachment\:gap-1:is(:where(.group\/attachment)[data-orientation=vertical] *) {
        gap: calc(var(--spacing) * 1)
    }

    .group-data-\[orientation\=vertical\]\/attachment\:px-1:is(:where(.group\/attachment)[data-orientation=vertical] *) {
        padding-inline: calc(var(--spacing) * 1)
    }

    .group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *) {
        right: calc(var(--spacing) * -4)
    }

    .group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *) {
        border-right-style: var(--tw-border-style);
        border-right-width: 1px
    }

    .group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *) {
        left: calc(var(--spacing) * 0)
    }

    .group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *) {
        rotate: 180deg
    }

    .group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *) {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

    .group-data-\[size\=default\]\/avatar\:size-2\.5:is(:where(.group\/avatar)[data-size=default] *) {
        width: calc(var(--spacing) * 2.5);
        height: calc(var(--spacing) * 2.5)
    }

    .group-data-\[size\=default\]\/switch\:size-4:is(:where(.group\/switch)[data-size=default] *) {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4)
    }

    .group-data-\[size\=lg\]\/avatar\:size-3:is(:where(.group\/avatar)[data-size=lg] *) {
        width: calc(var(--spacing) * 3);
        height: calc(var(--spacing) * 3)
    }

    .group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *) {
        display: grid
    }

    .group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *) {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .group-data-\[size\=sm\]\/attachment\:w-8:is(:where(.group\/attachment)[data-size=sm] *) {
        width: calc(var(--spacing) * 8)
    }

    .group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size=sm] *) {
        width: calc(var(--spacing) * 2);
        height: calc(var(--spacing) * 2)
    }

    .group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size=sm] *) {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height))
    }

    .group-data-\[size\=sm\]\/card\:text-sm:is(:where(.group\/card)[data-size=sm] *) {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height))
    }

    .group-data-\[size\=sm\]\/item\:size-8:is(:where(.group\/item)[data-size=sm] *) {
        width: calc(var(--spacing) * 8);
        height: calc(var(--spacing) * 8)
    }

    .group-data-\[size\=sm\]\/switch\:size-3:is(:where(.group\/switch)[data-size=sm] *) {
        width: calc(var(--spacing) * 3);
        height: calc(var(--spacing) * 3)
    }

    .group-data-\[size\=xs\]\/attachment\:w-7:is(:where(.group\/attachment)[data-size=xs] *) {
        width: calc(var(--spacing) * 7)
    }

    .group-data-\[size\=xs\]\/attachment\:rounded-md:is(:where(.group\/attachment)[data-size=xs] *) {
        border-radius: var(--radius-md)
    }

    .group-data-\[size\=xs\]\/item\:size-6:is(:where(.group\/item)[data-size=xs] *) {
        width: calc(var(--spacing) * 6);
        height: calc(var(--spacing) * 6)
    }

    .group-data-\[size\=xs\]\/item\:gap-0:is(:where(.group\/item)[data-size=xs] *) {
        gap: calc(var(--spacing) * 0)
    }

    .group-data-\[size\=xs\]\/item\:text-xs:is(:where(.group\/item)[data-size=xs] *) {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height))
    }

    .group-data-\[spacing\=0\]\/toggle-group\:rounded-none:is(:where(.group\/toggle-group)[data-spacing="0"] *) {
        border-radius: 0
    }

    .group-data-\[spacing\=0\]\/toggle-group\:px-2:is(:where(.group\/toggle-group)[data-spacing="0"] *) {
        padding-inline: calc(var(--spacing) * 2)
    }

    .group-data-\[state\=done\]\/attachment\:opacity-100:is(:where(.group\/attachment)[data-state=done] *),
    .group-data-\[state\=idle\]\/attachment\:opacity-100:is(:where(.group\/attachment)[data-state=idle] *) {
        opacity: 1
    }

    .group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *) {
        --_spread: var(--shimmer-spread, calc(3ch + 40px));
        --_base: currentColor;
        --_highlight: var(--shimmer-color, oklch(from currentColor l c h / calc(alpha* .2)));
        background-image: var(--shimmer-image, linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), var(--_highlight) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, var(--_highlight) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread))))
    }

    @supports (color:color-mix(in lab, red, red)) {
        .group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *) {
            background-image: var(--shimmer-image, linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread))))
        }
    }

    .group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *) {
        background-repeat: no-repeat;
        background-size: calc(200% + var(--_spread) * 2) 100%;
        -webkit-text-fill-color: var(--shimmer-text-fill, transparent);
        animation: tw-shimmer var(--shimmer-duration, 2s) linear infinite;
        background-position: 0 0;
        -webkit-background-clip: text;
        background-clip: text
    }

    .group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *):is(.dark *) {
        --_highlight: var(--shimmer-color, oklch(from currentColor max(.8, calc(l + .4)) c h / calc(alpha + .4)))
    }

    .group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *):where([dir=rtl], [dir=rtl] *) {
        animation-direction: reverse
    }

    .group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *) {
        --_spread: var(--shimmer-spread, calc(3ch + 40px));
        --_base: currentColor;
        --_highlight: var(--shimmer-color, oklch(from currentColor l c h / calc(alpha* .2)));
        background-image: var(--shimmer-image, linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), var(--_highlight) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, var(--_highlight) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread))))
    }

    @supports (color:color-mix(in lab, red, red)) {
        .group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *) {
            background-image: var(--shimmer-image, linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread))))
        }
    }

    .group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *) {
        background-repeat: no-repeat;
        background-size: calc(200% + var(--_spread) * 2) 100%;
        -webkit-text-fill-color: var(--shimmer-text-fill, transparent);
        animation: tw-shimmer var(--shimmer-duration, 2s) linear infinite;
        background-position: 0 0;
        -webkit-background-clip: text;
        background-clip: text
    }

    .group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *):is(.dark *) {
        --_highlight: var(--shimmer-color, oklch(from currentColor max(.8, calc(l + .4)) c h / calc(alpha + .4)))
    }

    .group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *):where([dir=rtl], [dir=rtl] *) {
        animation-direction: reverse
    }

    .group-data-\[swipe-axis\=x\]\/drawer-popup\:h-full:is(:where(.group\/drawer-popup)[data-swipe-axis=x] *) {
        height: 100%
    }

    .group-data-\[swipe-axis\=x\]\/drawer-popup\:w-3:is(:where(.group\/drawer-popup)[data-swipe-axis=x] *) {
        width: calc(var(--spacing) * 3)
    }

    .group-data-\[swipe-axis\=x\]\/drawer-popup\:items-center:is(:where(.group\/drawer-popup)[data-swipe-axis=x] *) {
        align-items: center
    }

    .group-data-\[swipe-axis\=y\]\/drawer-popup\:h-3:is(:where(.group\/drawer-popup)[data-swipe-axis=y] *) {
        height: calc(var(--spacing) * 3)
    }

    .group-data-\[swipe-axis\=y\]\/drawer-popup\:w-full:is(:where(.group\/drawer-popup)[data-swipe-axis=y] *) {
        width: 100%
    }

    .group-data-\[swipe-axis\=y\]\/drawer-popup\:justify-center:is(:where(.group\/drawer-popup)[data-swipe-axis=y] *) {
        justify-content: center
    }

    .group-data-\[swipe-axis\=y\]\/drawer-popup\:text-center:is(:where(.group\/drawer-popup)[data-swipe-axis=y] *) {
        text-align: center
    }

    .group-data-\[swipe-direction\=down\]\/drawer-popup\:items-end:is(:where(.group\/drawer-popup)[data-swipe-direction=down] *) {
        align-items: flex-end
    }

    .group-data-\[swipe-direction\=left\]\/drawer-popup\:order-last:is(:where(.group\/drawer-popup)[data-swipe-direction=left] *) {
        order: 9999
    }

    .group-data-\[swipe-direction\=left\]\/drawer-popup\:justify-start:is(:where(.group\/drawer-popup)[data-swipe-direction=left] *) {
        justify-content: flex-start
    }

    .group-data-\[swipe-direction\=right\]\/drawer-popup\:justify-end:is(:where(.group\/drawer-popup)[data-swipe-direction=right] *) {
        justify-content: flex-end
    }

    .group-data-\[swipe-direction\=up\]\/drawer-popup\:order-last:is(:where(.group\/drawer-popup)[data-swipe-direction=up] *) {
        order: 9999
    }

    .group-data-\[swipe-direction\=up\]\/drawer-popup\:items-start:is(:where(.group\/drawer-popup)[data-swipe-direction=up] *) {
        align-items: flex-start
    }

    .group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *) {
        border-radius: var(--radius-lg)
    }

    .group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *) {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .group-data-\[variant\=floating\]\:ring-1:is(:where(.group)[data-variant=floating] *) {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *) {
        background-color: #0000
    }

    .group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.group\/field-group)[data-variant=outline] *) {
        margin-bottom: calc(var(--spacing) * -2)
    }

    .group-data-\[variant\=separator\]\/marker\:flex-none:is(:where(.group\/marker)[data-variant=separator] *) {
        flex: none
    }

    .group-data-\[variant\=separator\]\/marker\:text-center:is(:where(.group\/marker)[data-variant=separator] *) {
        text-align: center
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:rounded-lg:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        border-radius: var(--radius-lg)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:shadow:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:ring-1:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:ring-foreground\/10:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        --tw-ring-color: var(--foreground)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .group-data-\[viewport\=false\]\/navigation-menu\:ring-foreground\/10:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
            --tw-ring-color: color-mix(in oklab, var(--foreground) 10%, transparent)
        }
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:duration-300:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        --tw-duration: .3s;
        transition-duration: .3s
    }

    .group-data-open\/navigation-menu-trigger\:rotate-180:is(:is(:where(.group\/navigation-menu-trigger):where([data-state=open]), :where(.group\/navigation-menu-trigger):where([data-open]:not([data-open=false]))) *) {
        rotate: 180deg
    }

    .group-data-selected\/command-item\:text-foreground:is(:where(.group\/command-item):where([data-selected=true]) *) {
        color: var(--foreground)
    }

    .group-data-horizontal\/tabs\:h-8:is(:where(.group\/tabs):where([data-orientation=horizontal]) *) {
        height: calc(var(--spacing) * 8)
    }

    .group-data-vertical\/tabs\:h-fit:is(:where(.group\/tabs):where([data-orientation=vertical]) *) {
        height: fit-content
    }

    .group-data-vertical\/tabs\:w-full:is(:where(.group\/tabs):where([data-orientation=vertical]) *) {
        width: 100%
    }

    .group-data-vertical\/tabs\:flex-col:is(:where(.group\/tabs):where([data-orientation=vertical]) *) {
        flex-direction: column
    }

    .group-data-vertical\/tabs\:justify-start:is(:where(.group\/tabs):where([data-orientation=vertical]) *) {
        justify-content: flex-start
    }

    .peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*) {
        cursor: not-allowed
    }

    .peer-disabled\:opacity-50:is(:where(.peer):disabled~*) {
        opacity: .5
    }

    .peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*) {
        top: calc(var(--spacing) * 1.5)
    }

    .peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*) {
        top: calc(var(--spacing) * 2.5)
    }

    .peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*) {
        top: calc(var(--spacing) * 1)
    }

    .selection\:bg-primary ::selection {
        background-color: var(--primary)
    }

    .selection\:bg-primary::selection {
        background-color: var(--primary)
    }

    .selection\:text-primary-foreground ::selection {
        color: var(--primary-foreground)
    }

    .selection\:text-primary-foreground::selection {
        color: var(--primary-foreground)
    }

    .file\:inline-flex::file-selector-button {
        display: inline-flex
    }

    .file\:h-6::file-selector-button {
        height: calc(var(--spacing) * 6)
    }

    .file\:border-0::file-selector-button {
        border-style: var(--tw-border-style);
        border-width: 0
    }

    .file\:bg-transparent::file-selector-button {
        background-color: #0000
    }

    .file\:text-sm::file-selector-button {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height))
    }

    .file\:font-medium::file-selector-button {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .file\:text-foreground::file-selector-button {
        color: var(--foreground)
    }

    .before\:mr-1:before {
        content: var(--tw-content);
        margin-right: calc(var(--spacing) * 1)
    }

    .before\:h-px:before {
        content: var(--tw-content);
        height: 1px
    }

    .before\:min-w-0:before {
        content: var(--tw-content);
        min-width: calc(var(--spacing) * 0)
    }

    .before\:flex-1:before {
        content: var(--tw-content);
        flex: 1
    }

    .before\:bg-border:before {
        content: var(--tw-content);
        background-color: var(--border)
    }

    .after\:pointer-events-none:after {
        content: var(--tw-content);
        pointer-events: none
    }

    .after\:absolute:after {
        content: var(--tw-content);
        position: absolute
    }

    .after\:-inset-2:after {
        content: var(--tw-content);
        inset: calc(var(--spacing) * -2)
    }

    .after\:inset-0:after {
        content: var(--tw-content);
        inset: calc(var(--spacing) * 0)
    }

    .after\:-inset-x-3:after {
        content: var(--tw-content);
        inset-inline: calc(var(--spacing) * -3)
    }

    .after\:-inset-y-2:after {
        content: var(--tw-content);
        inset-block: calc(var(--spacing) * -2)
    }

    .after\:inset-y-0:after {
        content: var(--tw-content);
        inset-block: calc(var(--spacing) * 0)
    }

    .after\:start-1\/2:after {
        content: var(--tw-content);
        inset-inline-start: 50%
    }

    .after\:top-full:after {
        content: var(--tw-content);
        top: 100%
    }

    .after\:right-0:after {
        content: var(--tw-content);
        right: calc(var(--spacing) * 0)
    }

    .after\:left-0:after {
        content: var(--tw-content);
        left: calc(var(--spacing) * 0)
    }

    .after\:left-1\/2:after {
        content: var(--tw-content);
        left: 50%
    }

    .after\:ml-1:after {
        content: var(--tw-content);
        margin-left: calc(var(--spacing) * 1)
    }

    .after\:block:after {
        content: var(--tw-content);
        display: block
    }

    .after\:h-\[calc\(var\(--gap\)\+1px\)\]:after {
        content: var(--tw-content);
        height: calc(var(--gap) + 1px)
    }

    .after\:h-px:after {
        content: var(--tw-content);
        height: 1px
    }

    .after\:w-1:after {
        content: var(--tw-content);
        width: calc(var(--spacing) * 1)
    }

    .after\:w-4:after {
        content: var(--tw-content);
        width: calc(var(--spacing) * 4)
    }

    .after\:w-\[2px\]:after {
        content: var(--tw-content);
        width: 2px
    }

    .after\:w-full:after {
        content: var(--tw-content);
        width: 100%
    }

    .after\:min-w-0:after {
        content: var(--tw-content);
        min-width: calc(var(--spacing) * 0)
    }

    .after\:flex-1:after {
        content: var(--tw-content);
        flex: 1
    }

    .after\:shrink-0:after {
        content: var(--tw-content);
        flex-shrink: 0
    }

    .after\:-translate-x-1\/2:after {
        content: var(--tw-content);
        --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .after\:rounded-full:after {
        content: var(--tw-content);
        border-radius: 2147483647px
    }

    .after\:border:after {
        content: var(--tw-content);
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .after\:border-border:after {
        content: var(--tw-content);
        border-color: var(--border)
    }

    .after\:bg-\(--drawer-bleed-background\,var\(--color-popover\)\):after {
        content: var(--tw-content);
        background-color: var(--drawer-bleed-background, var(--color-popover))
    }

    .after\:bg-border:after {
        content: var(--tw-content);
        background-color: var(--border)
    }

    .after\:bg-foreground:after {
        content: var(--tw-content);
        background-color: var(--foreground)
    }

    .after\:bg-muted:after {
        content: var(--tw-content);
        background-color: var(--card)
    }

    .after\:opacity-0:after {
        content: var(--tw-content);
        opacity: 0
    }

    .after\:mix-blend-darken:after {
        content: var(--tw-content);
        mix-blend-mode: darken
    }

    .after\:transition-opacity:after {
        content: var(--tw-content);
        transition-property: opacity;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .after\:content-\[\'\'\]:after {
        --tw-content: "";
        content: var(--tw-content)
    }

    .group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after {
        content: var(--tw-content);
        left: 100%
    }

    .group-data-\[swipe-axis\=x\]\/drawer-popup\:after\:h-24:is(:where(.group\/drawer-popup)[data-swipe-axis=x] *):after {
        content: var(--tw-content);
        height: calc(var(--spacing) * 24)
    }

    .group-data-\[swipe-axis\=x\]\/drawer-popup\:after\:w-1:is(:where(.group\/drawer-popup)[data-swipe-axis=x] *):after {
        content: var(--tw-content);
        width: calc(var(--spacing) * 1)
    }

    .group-data-\[swipe-axis\=y\]\/drawer-popup\:after\:h-1:is(:where(.group\/drawer-popup)[data-swipe-axis=y] *):after {
        content: var(--tw-content);
        height: calc(var(--spacing) * 1)
    }

    .group-data-\[swipe-axis\=y\]\/drawer-popup\:after\:w-24:is(:where(.group\/drawer-popup)[data-swipe-axis=y] *):after {
        content: var(--tw-content);
        width: calc(var(--spacing) * 24)
    }

    .group-data-horizontal\/tabs\:after\:inset-x-0:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after {
        content: var(--tw-content);
        inset-inline: calc(var(--spacing) * 0)
    }

    .group-data-horizontal\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after {
        content: var(--tw-content);
        bottom: -5px
    }

    .group-data-horizontal\/tabs\:after\:h-0\.5:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after {
        content: var(--tw-content);
        height: calc(var(--spacing) * .5)
    }

    .group-data-vertical\/tabs\:after\:inset-y-0:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after {
        content: var(--tw-content);
        inset-block: calc(var(--spacing) * 0)
    }

    .group-data-vertical\/tabs\:after\:-right-1:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after {
        content: var(--tw-content);
        right: calc(var(--spacing) * -1)
    }

    .group-data-vertical\/tabs\:after\:w-0\.5:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after {
        content: var(--tw-content);
        width: calc(var(--spacing) * .5)
    }

    .first\:rounded-l-lg:first-child {
        border-top-left-radius: var(--radius-lg);
        border-bottom-left-radius: var(--radius-lg)
    }

    .first\:border-l:first-child {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

    .last\:mt-0:last-child {
        margin-top: calc(var(--spacing) * 0)
    }

    .last\:rounded-r-lg:last-child {
        border-top-right-radius: var(--radius-lg);
        border-bottom-right-radius: var(--radius-lg)
    }

    .focus-within\:border-ring:focus-within {
        border-color: var(--primary)
    }

    .focus-within\:ring-1:focus-within {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-within\:ring-3:focus-within {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-within\:ring-ring\/50:focus-within {
        --tw-ring-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .focus-within\:ring-ring\/50:focus-within {
            --tw-ring-color: color-mix(in oklab, var(--primary) 50%, transparent)
        }
    }

    @media (hover:hover) {
        .hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover {
            background-color: var(--secondary)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover {
                background-color: color-mix(in oklch, var(--secondary), var(--foreground) 5%)
            }
        }

        .hover\:bg-muted:hover,
        .hover\:bg-muted\/50:hover {
            background-color: var(--card)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:bg-muted\/50:hover {
                background-color: color-mix(in oklab, var(--card) 50%, transparent)
            }
        }

        .hover\:bg-primary\/80:hover {
            background-color: var(--primary)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:bg-primary\/80:hover {
                background-color: color-mix(in oklab, var(--primary) 80%, transparent)
            }
        }

        .hover\:text-foreground:hover {
            color: var(--foreground)
        }

        .hover\:underline:hover {
            text-decoration-line: underline
        }

        .hover\:opacity-100:hover {
            opacity: 1
        }

        .hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover {
            --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-accent));
            box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
        }

        .hover\:ring-3:hover {
            --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
            box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
        }
    }

    .focus\:z-10:focus {
        z-index: 10
    }

    .focus\:bg-muted:focus {
        background-color: var(--card)
    }

    .focus-visible\:z-10:focus-visible {
        z-index: 10
    }

    .focus-visible\:border-ring:focus-visible {
        border-color: var(--primary)
    }

    .focus-visible\:ring-0:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-visible\:ring-1:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-visible\:ring-2:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-visible\:ring-3:focus-visible,
    .focus-visible\:ring-\[3px\]:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-visible\:ring-ring:focus-visible,
    .focus-visible\:ring-ring\/50:focus-visible {
        --tw-ring-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .focus-visible\:ring-ring\/50:focus-visible {
            --tw-ring-color: color-mix(in oklab, var(--primary) 50%, transparent)
        }
    }

    .focus-visible\:outline-hidden:focus-visible {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .focus-visible\:outline-hidden:focus-visible {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .focus-visible\:outline-1:focus-visible {
        outline-style: var(--tw-outline-style);
        outline-width: 1px
    }

    .focus-visible\:outline-ring:focus-visible {
        outline-color: var(--primary)
    }

    :is(.\*\:focus-visible\:relative>*):focus-visible {
        position: relative
    }

    :is(.\*\:focus-visible\:z-10>*):focus-visible {
        z-index: 10
    }

    .focus-visible\:after\:border-ring:focus-visible:after {
        content: var(--tw-content);
        border-color: var(--primary)
    }

    .active\:cursor-grabbing:active {
        cursor: grabbing
    }

    .active\:ring-3:active {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]) {
        --tw-translate-y: 1px;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .disabled\:pointer-events-none:disabled {
        pointer-events: none
    }

    .disabled\:cursor-not-allowed:disabled {
        cursor: not-allowed
    }

    .disabled\:bg-transparent:disabled {
        background-color: #0000
    }

    .disabled\:opacity-50:disabled {
        opacity: .5
    }

    :where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize {
        cursor: w-resize
    }

    :where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize {
        cursor: e-resize
    }

    :where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg {
        border-radius: var(--radius-lg)
    }

    :where([data-slot=card-content]) .in-data-\[slot\=card-content\]\:bg-transparent {
        background-color: #0000
    }

    :where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:border-inherit:focus-within {
        border-color: inherit
    }

    :where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:ring-0:focus-within {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    :where([data-slot=dialog-content]) .in-data-\[slot\=dialog-content\]\:rounded-lg\! {
        border-radius: var(--radius-lg) !important
    }

    :where([data-slot=dropdown-menu-content]) .in-data-\[slot\=dropdown-menu-content\]\:p-0 {
        padding: calc(var(--spacing) * 0)
    }

    :where([data-slot=navigation-menu-content]) .in-data-\[slot\=navigation-menu-content\]\:rounded-md {
        border-radius: var(--radius-md)
    }

    :where([data-slot=popover-content]) .in-data-\[slot\=popover-content\]\:bg-transparent {
        background-color: #0000
    }

    :where([data-slot=tooltip-content]) .in-data-\[slot\=tooltip-content\]\:bg-background\/20 {
        background-color: var(--background)
    }

    @supports (color:color-mix(in lab, red, red)) {
        :where([data-slot=tooltip-content]) .in-data-\[slot\=tooltip-content\]\:bg-background\/20 {
            background-color: color-mix(in oklab, var(--background) 20%, transparent)
        }
    }

    :where([data-slot=tooltip-content]) .in-data-\[slot\=tooltip-content\]\:text-background {
        color: var(--background)
    }

    .has-disabled\:pointer-events-none:has(:disabled) {
        pointer-events: none
    }

    .has-disabled\:cursor-not-allowed:has(:disabled) {
        cursor: not-allowed
    }

    .has-disabled\:opacity-50:has(:disabled) {
        opacity: .5
    }

    .has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]) {
        background-color: var(--card)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]) {
            background-color: color-mix(in oklab, var(--card) 50%, transparent)
        }
    }

    .has-aria-invalid\:ring-3:has([aria-invalid=true]) {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .has-data-\[icon\=inline-end\]\:pr-1:has([data-icon=inline-end]) {
        padding-right: calc(var(--spacing) * 1)
    }

    .has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]) {
        padding-right: calc(var(--spacing) * 1.5)
    }

    .has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]) {
        padding-right: calc(var(--spacing) * 2)
    }

    .group-data-\[spacing\=0\]\/toggle-group\:has-data-\[icon\=inline-end\]\:pr-1\.5:is(:where(.group\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-end]) {
        padding-right: calc(var(--spacing) * 1.5)
    }

    .has-data-\[icon\=inline-start\]\:pl-1:has([data-icon=inline-start]) {
        padding-left: calc(var(--spacing) * 1)
    }

    .has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]) {
        padding-left: calc(var(--spacing) * 1.5)
    }

    .has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]) {
        padding-left: calc(var(--spacing) * 2)
    }

    .group-data-\[spacing\=0\]\/toggle-group\:has-data-\[icon\=inline-start\]\:pl-1\.5:is(:where(.group\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-start]) {
        padding-left: calc(var(--spacing) * 1.5)
    }

    .has-data-\[size\=sm\]\:gap-2\.5:has([data-size=sm]) {
        gap: calc(var(--spacing) * 2.5)
    }

    .has-data-\[size\=xs\]\:gap-2:has([data-size=xs]) {
        gap: calc(var(--spacing) * 2)
    }

    .has-data-\[slot\=alert-action\]\:relative:has([data-slot=alert-action]) {
        position: relative
    }

    .has-data-\[slot\=alert-action\]\:pr-18:has([data-slot=alert-action]) {
        padding-right: calc(var(--spacing) * 18)
    }

    .has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]) {
        grid-template-rows: auto auto 1fr
    }

    .has-data-\[slot\=alert-dialog-media\]\:gap-x-4:has([data-slot=alert-dialog-media]) {
        column-gap: calc(var(--spacing) * 4)
    }

    .has-data-\[slot\=attachment-content\]\:w-30:has([data-slot=attachment-content]) {
        width: calc(var(--spacing) * 30)
    }

    .has-data-\[slot\=attachment-content\]\:px-1\.5:has([data-slot=attachment-content]) {
        padding-inline: calc(var(--spacing) * 1.5)
    }

    .has-data-\[slot\=attachment-content\]\:px-2:has([data-slot=attachment-content]) {
        padding-inline: calc(var(--spacing) * 2)
    }

    .has-data-\[slot\=attachment-content\]\:px-2\.5:has([data-slot=attachment-content]) {
        padding-inline: calc(var(--spacing) * 2.5)
    }

    .has-data-\[slot\=attachment-content\]\:py-1:has([data-slot=attachment-content]) {
        padding-block: calc(var(--spacing) * 1)
    }

    .has-data-\[slot\=attachment-content\]\:py-1\.5:has([data-slot=attachment-content]) {
        padding-block: calc(var(--spacing) * 1.5)
    }

    .has-data-\[slot\=attachment-content\]\:py-2:has([data-slot=attachment-content]) {
        padding-block: calc(var(--spacing) * 2)
    }

    .has-data-\[slot\=attachment-media\]\:p-1:has([data-slot=attachment-media]) {
        padding: calc(var(--spacing) * 1)
    }

    .has-data-\[slot\=attachment-media\]\:p-1\.5:has([data-slot=attachment-media]) {
        padding: calc(var(--spacing) * 1.5)
    }

    .has-data-\[slot\=attachment-media\]\:p-2:has([data-slot=attachment-media]) {
        padding: calc(var(--spacing) * 2)
    }

    .has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]) {
        grid-template-columns: 1fr auto
    }

    .has-data-\[slot\=card-description\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]) {
        grid-template-rows: auto auto
    }

    .has-data-\[slot\=card-footer\]\:pb-0:has([data-slot=card-footer]) {
        padding-bottom: calc(var(--spacing) * 0)
    }

    .has-data-\[slot\=combobox-chip\]\:px-1:has([data-slot=combobox-chip]) {
        padding-inline: calc(var(--spacing) * 1)
    }

    .has-data-\[slot\=combobox-chip-remove\]\:pr-0:has([data-slot=combobox-chip-remove]) {
        padding-right: calc(var(--spacing) * 0)
    }

    .has-data-\[slot\=kbd\]\:pr-1\.5:has([data-slot=kbd]) {
        padding-right: calc(var(--spacing) * 1.5)
    }

    .has-data-checked\:border-primary\/30:has(:where([data-state=checked]), :where([data-checked]:not([data-checked=false]))) {
        border-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .has-data-checked\:border-primary\/30:has(:where([data-state=checked]), :where([data-checked]:not([data-checked=false]))) {
            border-color: color-mix(in oklab, var(--primary) 30%, transparent)
        }
    }

    .has-data-checked\:bg-primary\/5:has(:where([data-state=checked]), :where([data-checked]:not([data-checked=false]))) {
        background-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .has-data-checked\:bg-primary\/5:has(:where([data-state=checked]), :where([data-checked]:not([data-checked=false]))) {
            background-color: color-mix(in oklab, var(--primary) 5%, transparent)
        }
    }

    .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible) {
        border-color: var(--primary)
    }

    .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-3:has([data-slot=input-group-control]:focus-visible) {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible) {
        --tw-ring-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible) {
            --tw-ring-color: color-mix(in oklab, var(--primary) 50%, transparent)
        }
    }

    .has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-3:has([data-slot][aria-invalid=true]) {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .has-\[button\]\:p-0:has(:is(button)) {
        padding: calc(var(--spacing) * 0)
    }

    .has-\[select\:disabled\]\:opacity-50:has(:is(select:disabled)) {
        opacity: .5
    }

    .has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]) {
        height: auto
    }

    .has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]) {
        flex-direction: column
    }

    .has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]) {
        height: auto
    }

    .has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]) {
        flex-direction: column
    }

    .has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]) {
        gap: calc(var(--spacing) * 2)
    }

    .has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]) {
        gap: calc(var(--spacing) * 3)
    }

    .has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]) {
        align-items: flex-start
    }

    .has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]) {
        width: 100%
    }

    .has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]) {
        flex-direction: column
    }

    .has-\[\>\[data-slot\=field\]\]\:rounded-lg:has(>[data-slot=field]) {
        border-radius: var(--radius-lg)
    }

    .has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]) {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    @media (hover:hover) {
        .has-\[\>\[data-slot\=field\]\]\:not-has-\[\:disabled\,\[data-disabled\]\]\:hover\:bg-muted\/50:has(>[data-slot=field]):not(:has(:is(:disabled, [data-disabled]))):hover {
            background-color: var(--card)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .has-\[\>\[data-slot\=field\]\]\:not-has-\[\:disabled\,\[data-disabled\]\]\:hover\:bg-muted\/50:has(>[data-slot=field]):not(:has(:is(:disabled, [data-disabled]))):hover {
                background-color: color-mix(in oklab, var(--card) 50%, transparent)
            }
        }
    }

    .has-\[\>\[data-slot\=field\]\]\:has-\[\:focus-visible\]\:border-ring:has(>[data-slot=field]):has(:focus-visible) {
        border-color: var(--primary)
    }

    .has-\[\>\[data-slot\=field\]\]\:has-\[\:focus-visible\]\:ring-3:has(>[data-slot=field]):has(:focus-visible) {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .has-\[\>\[data-slot\=field\]\]\:has-\[\:focus-visible\]\:ring-ring\/50:has(>[data-slot=field]):has(:focus-visible) {
        --tw-ring-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .has-\[\>\[data-slot\=field\]\]\:has-\[\:focus-visible\]\:ring-ring\/50:has(>[data-slot=field]):has(:focus-visible) {
            --tw-ring-color: color-mix(in oklab, var(--primary) 50%, transparent)
        }
    }

    .has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]) {
        gap: calc(var(--spacing) * 3)
    }

    @media (hover:hover) {
        .has-\[\>a\,\>button\]\:hover\:bg-muted\/50:has(>a, >button):hover {
            background-color: var(--card)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .has-\[\>a\,\>button\]\:hover\:bg-muted\/50:has(>a, >button):hover {
                background-color: color-mix(in oklab, var(--card) 50%, transparent)
            }
        }
    }

    .has-\[\>button\]\:mr-\[-0\.3rem\]:has(>button) {
        margin-right: -.3rem
    }

    .has-\[\>button\]\:ml-\[-0\.3rem\]:has(>button) {
        margin-left: -.3rem
    }

    .has-\[\>img\:first-child\]\:pt-0:has(>img:first-child) {
        padding-top: calc(var(--spacing) * 0)
    }

    .has-\[\>kbd\]\:mr-\[-0\.15rem\]:has(>kbd) {
        margin-right: -.15rem
    }

    .has-\[\>kbd\]\:ml-\[-0\.15rem\]:has(>kbd) {
        margin-left: -.15rem
    }

    .has-\[\>svg\]\:grid-cols-\[auto_1fr\]:has(>svg) {
        grid-template-columns: auto 1fr
    }

    .has-\[\>svg\]\:gap-x-2:has(>svg) {
        column-gap: calc(var(--spacing) * 2)
    }

    .has-\[\>svg\]\:p-0:has(>svg) {
        padding: calc(var(--spacing) * 0)
    }

    .has-\[\>textarea\]\:h-auto:has(>textarea) {
        height: auto
    }

    .aria-disabled\:pointer-events-none[aria-disabled=true] {
        pointer-events: none
    }

    .aria-disabled\:opacity-50[aria-disabled=true] {
        opacity: .5
    }

    .aria-expanded\:bg-muted[aria-expanded=true] {
        background-color: var(--card)
    }

    .aria-expanded\:text-foreground[aria-expanded=true] {
        color: var(--foreground)
    }

    .aria-expanded\:opacity-100[aria-expanded=true] {
        opacity: 1
    }

    .aria-invalid\:ring-0[aria-invalid=true] {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .aria-invalid\:ring-3[aria-invalid=true] {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .aria-invalid\:aria-checked\:border-primary[aria-invalid=true][aria-checked=true] {
        border-color: var(--primary)
    }

    .aria-pressed\:bg-muted[aria-pressed=true] {
        background-color: var(--card)
    }

    .aria-\[orientation\=horizontal\]\:h-px[aria-orientation=horizontal] {
        height: 1px
    }

    .aria-\[orientation\=horizontal\]\:w-full[aria-orientation=horizontal] {
        width: 100%
    }

    .aria-\[orientation\=horizontal\]\:after\:left-0[aria-orientation=horizontal]:after {
        content: var(--tw-content);
        left: calc(var(--spacing) * 0)
    }

    .aria-\[orientation\=horizontal\]\:after\:h-1[aria-orientation=horizontal]:after {
        content: var(--tw-content);
        height: calc(var(--spacing) * 1)
    }

    .aria-\[orientation\=horizontal\]\:after\:w-full[aria-orientation=horizontal]:after {
        content: var(--tw-content);
        width: 100%
    }

    .aria-\[orientation\=horizontal\]\:after\:translate-x-0[aria-orientation=horizontal]:after {
        content: var(--tw-content);
        --tw-translate-x: calc(var(--spacing) * 0);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .aria-\[orientation\=horizontal\]\:after\:-translate-y-1\/2[aria-orientation=horizontal]:after {
        content: var(--tw-content);
        --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .aria-\[orientation\=vertical\]\:flex-col[aria-orientation=vertical] {
        flex-direction: column
    }

    .data-behind\:opacity-0[data-behind] {
        opacity: 0
    }

    .data-empty\:p-0[data-empty] {
        padding: calc(var(--spacing) * 0)
    }

    .data-ending-style\:pointer-events-none[data-ending-style] {
        pointer-events: none
    }

    .data-ending-style\:h-0[data-ending-style] {
        height: calc(var(--spacing) * 0)
    }

    .data-ending-style\:scale-90[data-ending-style] {
        --tw-scale-x: 90%;
        --tw-scale-y: 90%;
        --tw-scale-z: 90%;
        scale: var(--tw-scale-x) var(--tw-scale-y)
    }

    .data-ending-style\:transform-\(--closed-transform\)[data-ending-style] {
        transform: var(--closed-transform)
    }

    .data-ending-style\:opacity-0[data-ending-style] {
        opacity: 0
    }

    .data-ending-style\:opacity-\[0\.9999\][data-ending-style] {
        opacity: .9999
    }

    .data-ending-style\:duration-150[data-ending-style] {
        --tw-duration: .15s;
        transition-duration: .15s
    }

    .data-ending-style\:duration-\[calc\(var\(--drawer-swipe-strength\)\*400ms\)\][data-ending-style] {
        --tw-duration: calc(var(--drawer-swipe-strength) * .4s);
        transition-duration: calc(var(--drawer-swipe-strength) * .4s)
    }

    .data-expanded\:h-\(--toast-height\)[data-expanded] {
        height: var(--toast-height)
    }

    .data-expanded\:\[transform\:translateX\(var\(--toast-swipe-movement-x\)\)_translateY\(var\(--offset-y\)\)\][data-expanded] {
        transform: translateX(var(--toast-swipe-movement-x)) translateY(var(--offset-y))
    }

    .data-expanded\:opacity-100[data-expanded] {
        opacity: 1
    }

    .data-inset\:pl-7[data-inset] {
        padding-left: calc(var(--spacing) * 7)
    }

    .data-instant\:transition-none[data-instant] {
        transition-property: none
    }

    .data-limited\:opacity-0[data-limited] {
        opacity: 0
    }

    .data-nested-drawer-open\:overflow-hidden[data-nested-drawer-open] {
        overflow: hidden
    }

    .data-nested-drawer-open\:brightness-95[data-nested-drawer-open] {
        --tw-brightness: brightness(95%);
        filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )
    }

    .data-nested-drawer-swiping\:duration-0[data-nested-drawer-swiping] {
        --tw-duration: 0s;
        transition-duration: 0s
    }

    .data-ending-style\:data-nested-drawer-swiping\:duration-\[calc\(var\(--drawer-swipe-strength\)\*400ms\)\][data-ending-style][data-nested-drawer-swiping] {
        --tw-duration: calc(var(--drawer-swipe-strength) * .4s);
        transition-duration: calc(var(--drawer-swipe-strength) * .4s)
    }

    .data-popup-open\:bg-muted\/50[data-popup-open] {
        background-color: var(--card)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .data-popup-open\:bg-muted\/50[data-popup-open] {
            background-color: color-mix(in oklab, var(--card) 50%, transparent)
        }
    }

    @media (hover:hover) {
        .data-popup-open\:hover\:bg-muted[data-popup-open]:hover {
            background-color: var(--card)
        }
    }

    .data-pressed\:bg-transparent[data-pressed] {
        background-color: #0000
    }

    :is(.\*\:data-slot\:rounded-r-none>*)[data-slot] {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0
    }

    :is(.\*\:data-slot\:rounded-b-none>*)[data-slot] {
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0
    }

    :is(.group-data-\[align\=end\]\/message\:\*\:data-slot\:self-end:is(:where(.group\/message)[data-align=end] *)>*)[data-slot] {
        align-self: flex-end
    }

    .data-snap-points\:\[--drawer-overlay-min-opacity\:0\.5\][data-snap-points] {
        --drawer-overlay-min-opacity: .5
    }

    .data-starting-style\:h-0[data-starting-style] {
        height: calc(var(--spacing) * 0)
    }

    .data-starting-style\:scale-90[data-starting-style] {
        --tw-scale-x: 90%;
        --tw-scale-y: 90%;
        --tw-scale-z: 90%;
        scale: var(--tw-scale-x) var(--tw-scale-y)
    }

    .data-starting-style\:\[transform\:translateY\(150\%\)\][data-starting-style] {
        transform: translateY(150%)
    }

    .data-starting-style\:transform-\(--closed-transform\)[data-starting-style] {
        transform: var(--closed-transform)
    }

    .data-starting-style\:opacity-0[data-starting-style] {
        opacity: 0
    }

    .data-swiping\:duration-0[data-swiping] {
        --tw-duration: 0s;
        transition-duration: 0s
    }

    .data-ending-style\:data-swiping\:duration-\[calc\(var\(--drawer-swipe-strength\)\*400ms\)\][data-ending-style][data-swiping] {
        --tw-duration: calc(var(--drawer-swipe-strength) * .4s);
        transition-duration: calc(var(--drawer-swipe-strength) * .4s)
    }

    .data-\[active\=false\]\:pointer-events-none[data-active=false] {
        pointer-events: none
    }

    .data-\[active\=false\]\:scale-95[data-active=false] {
        --tw-scale-x: 95%;
        --tw-scale-y: 95%;
        --tw-scale-z: 95%;
        scale: var(--tw-scale-x) var(--tw-scale-y)
    }

    .data-\[active\=false\]\:opacity-0[data-active=false] {
        opacity: 0
    }

    .data-\[active\=false\]\:duration-400[data-active=false] {
        --tw-duration: .4s;
        transition-duration: .4s
    }

    .data-\[active\=false\]\:ease-\[cubic-bezier\(0\.7\,0\,0\.84\,0\)\][data-active=false] {
        --tw-ease: cubic-bezier(.7, 0, .84, 0);
        transition-timing-function: cubic-bezier(.7, 0, .84, 0)
    }

    .data-\[active\=true\]\:z-10[data-active=true] {
        z-index: 10
    }

    .data-\[active\=true\]\:translate-y-0[data-active=true] {
        --tw-translate-y: calc(var(--spacing) * 0);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[active\=true\]\:scale-100[data-active=true] {
        --tw-scale-x: 100%;
        --tw-scale-y: 100%;
        --tw-scale-z: 100%;
        scale: var(--tw-scale-x) var(--tw-scale-y)
    }

    .data-\[active\=true\]\:border-ring[data-active=true] {
        border-color: var(--primary)
    }

    .data-\[active\=true\]\:opacity-100[data-active=true] {
        opacity: 1
    }

    .data-\[active\=true\]\:ring-3[data-active=true] {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .data-\[active\=true\]\:ring-ring\/50[data-active=true] {
        --tw-ring-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .data-\[active\=true\]\:ring-ring\/50[data-active=true] {
            --tw-ring-color: color-mix(in oklab, var(--primary) 50%, transparent)
        }
    }

    .data-\[active\=true\]\:ease-\[cubic-bezier\(0\.23\,1\,0\.32\,1\)\][data-active=true] {
        --tw-ease: cubic-bezier(.23, 1, .32, 1);
        transition-timing-function: cubic-bezier(.23, 1, .32, 1)
    }

    .data-\[align-trigger\=true\]\:animate-none[data-align-trigger=true] {
        animation: none
    }

    .data-\[align\=end\]\:flex-row-reverse[data-align=end] {
        flex-direction: row-reverse
    }

    .data-\[align\=end\]\:self-end[data-align=end] {
        align-self: flex-end
    }

    .data-\[chips\=true\]\:min-w-\(--anchor-width\)[data-chips=true] {
        min-width: var(--anchor-width)
    }

    .data-\[direction\=end\]\:bottom-4[data-direction=end] {
        bottom: calc(var(--spacing) * 4)
    }

    .data-\[direction\=end\]\:data-\[active\=false\]\:translate-y-full[data-direction=end][data-active=false] {
        --tw-translate-y: 100%;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[direction\=start\]\:top-4[data-direction=start] {
        top: calc(var(--spacing) * 4)
    }

    .data-\[direction\=start\]\:data-\[active\=false\]\:-translate-y-full[data-direction=start][data-active=false] {
        --tw-translate-y: -100%;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[disabled\=true\]\:pointer-events-none[data-disabled=true] {
        pointer-events: none
    }

    .data-\[disabled\=true\]\:opacity-50[data-disabled=true] {
        opacity: .5
    }

    .data-\[modal\=true\]\:pointer-events-auto[data-modal=true] {
        pointer-events: auto
    }

    .data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end] {
        --tw-enter-translate-x: calc(52*var(--spacing))
    }

    .data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start] {
        --tw-enter-translate-x: calc(52*var(--spacing)*-1)
    }

    .data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end] {
        --tw-exit-translate-x: calc(52*var(--spacing))
    }

    .data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start] {
        --tw-exit-translate-x: calc(52*var(--spacing)*-1)
    }

    .data-\[motion\^\=from-\]\:animate-in[data-motion^=from-] {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[motion\^\=from-\]\:fade-in[data-motion^=from-] {
        --tw-enter-opacity: 0
    }

    .data-\[motion\^\=to-\]\:animate-out[data-motion^=to-] {
        animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[motion\^\=to-\]\:fade-out[data-motion^=to-] {
        --tw-exit-opacity: 0
    }

    .data-\[range-end\=true\]\:rounded-\(--cell-radius\)[data-range-end=true] {
        border-radius: var(--cell-radius)
    }

    .data-\[range-end\=true\]\:rounded-r-\(--cell-radius\)[data-range-end=true] {
        border-top-right-radius: var(--cell-radius);
        border-bottom-right-radius: var(--cell-radius)
    }

    .data-\[range-end\=true\]\:bg-primary[data-range-end=true] {
        background-color: var(--primary)
    }

    .data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true] {
        color: var(--primary-foreground)
    }

    .data-\[range-middle\=true\]\:rounded-none[data-range-middle=true] {
        border-radius: 0
    }

    .data-\[range-middle\=true\]\:bg-muted[data-range-middle=true] {
        background-color: var(--card)
    }

    .data-\[range-middle\=true\]\:text-foreground[data-range-middle=true] {
        color: var(--foreground)
    }

    .data-\[range-start\=true\]\:rounded-\(--cell-radius\)[data-range-start=true] {
        border-radius: var(--cell-radius)
    }

    .data-\[range-start\=true\]\:rounded-l-\(--cell-radius\)[data-range-start=true] {
        border-top-left-radius: var(--cell-radius);
        border-bottom-left-radius: var(--cell-radius)
    }

    .data-\[range-start\=true\]\:bg-primary[data-range-start=true] {
        background-color: var(--primary)
    }

    .data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true] {
        color: var(--primary-foreground)
    }

    .data-\[selected-single\=true\]\:bg-primary[data-selected-single=true] {
        background-color: var(--primary)
    }

    .data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true] {
        color: var(--primary-foreground)
    }

    .data-\[selected\=true\]\:rounded-none[data-selected=true] {
        border-radius: 0
    }

    .data-\[side\=bottom\]\:inset-x-0[data-side=bottom] {
        inset-inline: calc(var(--spacing) * 0)
    }

    .data-\[side\=bottom\]\:top-1[data-side=bottom] {
        top: calc(var(--spacing) * 1)
    }

    .data-\[side\=bottom\]\:bottom-0[data-side=bottom] {
        bottom: calc(var(--spacing) * 0)
    }

    .data-\[side\=bottom\]\:h-auto[data-side=bottom] {
        height: auto
    }

    .data-\[side\=bottom\]\:border-t[data-side=bottom] {
        border-top-style: var(--tw-border-style);
        border-top-width: 1px
    }

    .data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom] {
        --tw-enter-translate-y: calc(2*var(--spacing)*-1)
    }

    .data-\[side\=bottom\]\:before\:top-\[-10px\][data-side=bottom]:before {
        content: var(--tw-content);
        top: -10px
    }

    .data-\[side\=bottom\]\:before\:right-0[data-side=bottom]:before {
        content: var(--tw-content);
        right: calc(var(--spacing) * 0)
    }

    .data-\[side\=bottom\]\:before\:left-0[data-side=bottom]:before {
        content: var(--tw-content);
        left: calc(var(--spacing) * 0)
    }

    .data-\[side\=bottom\]\:data-ending-style\:translate-y-\[2\.5rem\][data-side=bottom][data-ending-style],
    .data-\[side\=bottom\]\:data-starting-style\:translate-y-\[2\.5rem\][data-side=bottom][data-starting-style] {
        --tw-translate-y: 2.5rem;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[side\=inline-end\]\:top-1\/2\![data-side=inline-end] {
        top: 50% !important
    }

    .data-\[side\=inline-end\]\:-left-1[data-side=inline-end] {
        left: calc(var(--spacing) * -1)
    }

    .data-\[side\=inline-end\]\:-translate-y-1\/2[data-side=inline-end] {
        --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[side\=inline-end\]\:slide-in-from-left-2[data-side=inline-end] {
        --tw-enter-translate-x: calc(2*var(--spacing)*-1)
    }

    .data-\[side\=inline-start\]\:top-1\/2\![data-side=inline-start] {
        top: 50% !important
    }

    .data-\[side\=inline-start\]\:-right-1[data-side=inline-start] {
        right: calc(var(--spacing) * -1)
    }

    .data-\[side\=inline-start\]\:-translate-y-1\/2[data-side=inline-start] {
        --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[side\=inline-start\]\:slide-in-from-right-2[data-side=inline-start] {
        --tw-enter-translate-x: calc(2*var(--spacing))
    }

    .data-\[side\=left\]\:inset-y-0[data-side=left] {
        inset-block: calc(var(--spacing) * 0)
    }

    .data-\[side\=left\]\:top-1\/2\![data-side=left] {
        top: 50% !important
    }

    .data-\[side\=left\]\:-right-1[data-side=left] {
        right: calc(var(--spacing) * -1)
    }

    .data-\[side\=left\]\:left-0[data-side=left] {
        left: calc(var(--spacing) * 0)
    }

    .data-\[side\=left\]\:h-full[data-side=left] {
        height: 100%
    }

    .data-\[side\=left\]\:w-3\/4[data-side=left] {
        width: 75%
    }

    .data-\[side\=left\]\:-translate-y-1\/2[data-side=left] {
        --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[side\=left\]\:border-r[data-side=left] {
        border-right-style: var(--tw-border-style);
        border-right-width: 1px
    }

    .data-\[side\=left\]\:slide-in-from-right-2[data-side=left] {
        --tw-enter-translate-x: calc(2*var(--spacing))
    }

    .data-\[side\=left\]\:group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\][data-side=left]:is(:where(.group)[data-collapsible=offcanvas] *) {
        left: calc(var(--sidebar-width) * -1)
    }

    .data-\[side\=left\]\:data-ending-style\:translate-x-\[-2\.5rem\][data-side=left][data-ending-style],
    .data-\[side\=left\]\:data-starting-style\:translate-x-\[-2\.5rem\][data-side=left][data-starting-style] {
        --tw-translate-x: -2.5rem;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[side\=right\]\:inset-y-0[data-side=right] {
        inset-block: calc(var(--spacing) * 0)
    }

    .data-\[side\=right\]\:top-1\/2\![data-side=right] {
        top: 50% !important
    }

    .data-\[side\=right\]\:right-0[data-side=right] {
        right: calc(var(--spacing) * 0)
    }

    .data-\[side\=right\]\:-left-1[data-side=right] {
        left: calc(var(--spacing) * -1)
    }

    .data-\[side\=right\]\:h-full[data-side=right] {
        height: 100%
    }

    .data-\[side\=right\]\:w-3\/4[data-side=right] {
        width: 75%
    }

    .data-\[side\=right\]\:-translate-y-1\/2[data-side=right] {
        --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[side\=right\]\:border-l[data-side=right] {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

    .data-\[side\=right\]\:slide-in-from-left-2[data-side=right] {
        --tw-enter-translate-x: calc(2*var(--spacing)*-1)
    }

    .data-\[side\=right\]\:group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\][data-side=right]:is(:where(.group)[data-collapsible=offcanvas] *) {
        right: calc(var(--sidebar-width) * -1)
    }

    .data-\[side\=right\]\:data-ending-style\:translate-x-\[2\.5rem\][data-side=right][data-ending-style],
    .data-\[side\=right\]\:data-starting-style\:translate-x-\[2\.5rem\][data-side=right][data-starting-style] {
        --tw-translate-x: 2.5rem;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[side\=top\]\:inset-x-0[data-side=top] {
        inset-inline: calc(var(--spacing) * 0)
    }

    .data-\[side\=top\]\:top-0[data-side=top] {
        top: calc(var(--spacing) * 0)
    }

    .data-\[side\=top\]\:-bottom-2\.5[data-side=top] {
        bottom: calc(var(--spacing) * -2.5)
    }

    .data-\[side\=top\]\:h-auto[data-side=top] {
        height: auto
    }

    .data-\[side\=top\]\:border-b[data-side=top] {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px
    }

    .data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top] {
        --tw-enter-translate-y: calc(2*var(--spacing))
    }

    .data-\[side\=top\]\:data-ending-style\:translate-y-\[-2\.5rem\][data-side=top][data-ending-style],
    .data-\[side\=top\]\:data-starting-style\:translate-y-\[-2\.5rem\][data-side=top][data-starting-style] {
        --tw-translate-y: -2.5rem;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[size\=default\]\:h-8[data-size=default] {
        height: calc(var(--spacing) * 8)
    }

    .data-\[size\=default\]\:h-\[18\.4px\][data-size=default] {
        height: 18.4px
    }

    .data-\[size\=default\]\:w-\[32px\][data-size=default] {
        width: 32px
    }

    .data-\[size\=default\]\:max-w-xs[data-size=default] {
        max-width: var(--container-xs)
    }

    .data-\[size\=lg\]\:size-10[data-size=lg] {
        width: calc(var(--spacing) * 10);
        height: calc(var(--spacing) * 10)
    }

    .data-\[size\=md\]\:text-sm[data-size=md] {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height))
    }

    .data-\[size\=sm\]\:size-6[data-size=sm] {
        width: calc(var(--spacing) * 6);
        height: calc(var(--spacing) * 6)
    }

    .data-\[size\=sm\]\:h-7[data-size=sm] {
        height: calc(var(--spacing) * 7)
    }

    .data-\[size\=sm\]\:h-\[14px\][data-size=sm] {
        height: 14px
    }

    .data-\[size\=sm\]\:w-\[24px\][data-size=sm] {
        width: 24px
    }

    .data-\[size\=sm\]\:max-w-xs[data-size=sm] {
        max-width: var(--container-xs)
    }

    .data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\,10px\)\][data-size=sm] {
        border-radius: min(var(--radius-md), 10px)
    }

    .data-\[size\=sm\]\:py-0\.5[data-size=sm] {
        padding-block: calc(var(--spacing) * .5)
    }

    .data-\[size\=sm\]\:text-xs[data-size=sm] {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height))
    }

    .data-\[size\=sm\]\:\[--card-spacing\:--spacing\(3\)\][data-size=sm] {
        --card-spacing: calc(var(--spacing) * 3)
    }

    .data-\[size\=sm\]\:has-data-\[slot\=card-footer\]\:pb-0[data-size=sm]:has([data-slot=card-footer]) {
        padding-bottom: calc(var(--spacing) * 0)
    }

    :is(.\*\*\:data-\[slot\=accordion-trigger-icon\]\:ml-auto *)[data-slot=accordion-trigger-icon] {
        margin-left: auto
    }

    :is(.\*\*\:data-\[slot\=accordion-trigger-icon\]\:size-4 *)[data-slot=accordion-trigger-icon] {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4)
    }

    :is(.\*\:data-\[slot\=attachment\]\:flex-none>*)[data-slot=attachment] {
        flex: none
    }

    :is(.\*\:data-\[slot\=attachment\]\:snap-start>*)[data-slot=attachment] {
        scroll-snap-align: start
    }

    :is(.\*\:data-\[slot\=avatar\]\:ring-2>*)[data-slot=avatar] {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    :is(.\*\:data-\[slot\=avatar\]\:ring-background>*)[data-slot=avatar] {
        --tw-ring-color: var(--background)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:rounded-none>*)[data-slot=bubble-content] {
        border-radius: 0
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:border-border>*)[data-slot=bubble-content] {
        border-color: var(--border)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:bg-\[oklch\(from_var\(--primary\)_0\.93_calc\(c\*0\.4\)_h\)\]>*)[data-slot=bubble-content] {
        background-color: oklch(from var(--primary) .93 calc(c * .4) h)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:bg-background>*)[data-slot=bubble-content] {
        background-color: var(--background)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:bg-muted>*)[data-slot=bubble-content] {
        background-color: var(--card)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:bg-primary>*)[data-slot=bubble-content] {
        background-color: var(--primary)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:bg-transparent>*)[data-slot=bubble-content] {
        background-color: #0000
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:p-0>*)[data-slot=bubble-content] {
        padding: calc(var(--spacing) * 0)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:text-foreground>*)[data-slot=bubble-content] {
        color: var(--foreground)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:text-primary-foreground>*)[data-slot=bubble-content] {
        color: var(--primary-foreground)
    }

    .data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group] {
        gap: calc(var(--spacing) * 3)
    }

    :is(.\*\:data-\[slot\=field\]\:p-2\.5>*)[data-slot=field] {
        padding: calc(var(--spacing) * 2.5)
    }

    :is(.\*\:data-\[slot\=field-group\]\:gap-4>*)[data-slot=field-group] {
        gap: calc(var(--spacing) * 4)
    }

    :is(.\*\:data-\[slot\=field-label\]\:flex-auto>*)[data-slot=field-label] {
        flex: auto
    }

    :is(.\*\:data-\[slot\=input-group\]\:m-1>*)[data-slot=input-group] {
        margin: calc(var(--spacing) * 1)
    }

    :is(.\*\:data-\[slot\=input-group\]\:mb-0>*)[data-slot=input-group] {
        margin-bottom: calc(var(--spacing) * 0)
    }

    :is(.\*\:data-\[slot\=input-group\]\:h-8>*)[data-slot=input-group] {
        height: calc(var(--spacing) * 8)
    }

    :is(.\*\:data-\[slot\=input-group\]\:shadow-none>*)[data-slot=input-group] {
        --tw-shadow: 0 0 #0000;
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    :is(.\*\:data-\[slot\=input-group-addon\]\:pl-2\!>*)[data-slot=input-group-addon] {
        padding-left: calc(var(--spacing) * 2) !important
    }

    :is(.\*\*\:data-\[slot\=kbd\]\:relative *)[data-slot=kbd] {
        position: relative
    }

    :is(.\*\*\:data-\[slot\=kbd\]\:isolate *)[data-slot=kbd] {
        isolation: isolate
    }

    :is(.\*\*\:data-\[slot\=kbd\]\:z-50 *)[data-slot=kbd] {
        z-index: 50
    }

    :is(.\*\*\:data-\[slot\=kbd\]\:rounded-sm *)[data-slot=kbd] {
        border-radius: var(--radius-sm)
    }

    :is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:ring-0 *)[data-slot=navigation-menu-link]:focus {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    :is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:outline-none *)[data-slot=navigation-menu-link]:focus {
        --tw-outline-style: none;
        outline-style: none
    }

    :is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value] {
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden
    }

    :is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value] {
        display: flex
    }

    :is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value] {
        align-items: center
    }

    :is(.\*\:data-\[slot\=select-value\]\:gap-1\.5>*)[data-slot=select-value] {
        gap: calc(var(--spacing) * 1.5)
    }

    :is(.group-data-\[orientation\=vertical\]\/attachment\:\*\:data-\[slot\=spinner\]\:size-6\!:is(:where(.group\/attachment)[data-orientation=vertical] *)>*)[data-slot=spinner] {
        width: calc(var(--spacing) * 6) !important;
        height: calc(var(--spacing) * 6) !important
    }

    .group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:first\:rounded-l-lg:is(:where(.group\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"]:first-child {
        border-top-left-radius: var(--radius-lg);
        border-bottom-left-radius: var(--radius-lg)
    }

    .group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:first\:rounded-t-lg:is(:where(.group\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"]:first-child {
        border-top-left-radius: var(--radius-lg);
        border-top-right-radius: var(--radius-lg)
    }

    .group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:last\:rounded-r-lg:is(:where(.group\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"]:last-child {
        border-top-right-radius: var(--radius-lg);
        border-bottom-right-radius: var(--radius-lg)
    }

    .group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:last\:rounded-b-lg:is(:where(.group\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"]:last-child {
        border-bottom-right-radius: var(--radius-lg);
        border-bottom-left-radius: var(--radius-lg)
    }

    .data-\[state\=delayed-open\]\:animate-in[data-state=delayed-open] {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=delayed-open\]\:fade-in-0[data-state=delayed-open] {
        --tw-enter-opacity: 0
    }

    .data-\[state\=delayed-open\]\:zoom-in-95[data-state=delayed-open] {
        --tw-enter-scale: .95
    }

    .data-\[state\=hidden\]\:animate-out[data-state=hidden] {
        animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=hidden\]\:fade-out[data-state=hidden] {
        --tw-exit-opacity: 0
    }

    .data-\[state\=idle\]\:border-dashed[data-state=idle] {
        --tw-border-style: dashed;
        border-style: dashed
    }

    .data-\[state\=on\]\:bg-muted[data-state=on],
    .data-\[state\=selected\]\:bg-muted[data-state=selected] {
        background-color: var(--card)
    }

    .data-\[state\=visible\]\:animate-in[data-state=visible] {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=visible\]\:fade-in[data-state=visible] {
        --tw-enter-opacity: 0
    }

    .data-\[swipe-axis\=x\]\:inset-y-0[data-swipe-axis=x] {
        inset-block: calc(var(--spacing) * 0)
    }

    .data-\[swipe-axis\=x\]\:flex-row[data-swipe-axis=x] {
        flex-direction: row
    }

    .data-\[swipe-axis\=x\]\:\[--drawer-content-width\:75\%\][data-swipe-axis=x] {
        --drawer-content-width: 75%
    }

    .data-\[swipe-axis\=x\]\:after\:inset-y-0[data-swipe-axis=x]:after {
        content: var(--tw-content);
        inset-block: calc(var(--spacing) * 0)
    }

    .data-\[swipe-axis\=x\]\:after\:w-\(--bleed\)[data-swipe-axis=x]:after {
        content: var(--tw-content);
        width: var(--bleed)
    }

    .data-\[swipe-axis\=y\]\:inset-x-0[data-swipe-axis=y] {
        inset-inline: calc(var(--spacing) * 0)
    }

    .data-\[swipe-axis\=y\]\:\[--drawer-content-max-height\:calc\(100dvh-6rem\)\][data-swipe-axis=y] {
        --drawer-content-max-height: calc(100dvh - 6rem)
    }

    .data-\[swipe-axis\=y\]\:after\:inset-x-0[data-swipe-axis=y]:after {
        content: var(--tw-content);
        inset-inline: calc(var(--spacing) * 0)
    }

    .data-\[swipe-axis\=y\]\:after\:h-\(--bleed\)[data-swipe-axis=y]:after {
        content: var(--tw-content);
        height: var(--bleed)
    }

    .data-\[swipe-axis\=y\]\:data-nested-drawer-open\:h-\(--stack-height\)[data-swipe-axis=y][data-nested-drawer-open] {
        height: var(--stack-height)
    }

    .data-\[swipe-axis\=y\]\:data-snap-points\:\[--drawer-content-height\:100dvh\][data-swipe-axis=y][data-snap-points] {
        --drawer-content-height: 100dvh
    }

    .data-\[swipe-direction\=down\]\:bottom-0[data-swipe-direction=down] {
        bottom: calc(var(--spacing) * 0)
    }

    .data-\[swipe-direction\=down\]\:origin-bottom[data-swipe-direction=down] {
        transform-origin: bottom
    }

    .data-\[swipe-direction\=down\]\:rounded-t-xl[data-swipe-direction=down] {
        border-top-left-radius: var(--radius-xl);
        border-top-right-radius: var(--radius-xl)
    }

    .data-\[swipe-direction\=down\]\:border-t[data-swipe-direction=down] {
        border-top-style: var(--tw-border-style);
        border-top-width: 1px
    }

    .data-\[swipe-direction\=down\]\:\[--closed-transform\:translate3d\(0\,calc\(100\%\+var\(--drawer-inset\,0px\)\+2px\)\,0\)\][data-swipe-direction=down] {
        --closed-transform: translate3d(0, calc(100% + var(--drawer-inset, 0px) + 2px), 0)
    }

    .data-\[swipe-direction\=down\]\:\[--translate-y\:calc\(var\(--drawer-snap-point-offset\,0px\)\+var\(--drawer-swipe-movement-y\)-var\(--stack-peek-offset\)-\(var\(--stack-shrink\)\*var\(--stack-height\)\)\)\][data-swipe-direction=down] {
        --translate-y: calc(var(--drawer-snap-point-offset, 0px) + var(--drawer-swipe-movement-y) - var(--stack-peek-offset) - (var(--stack-shrink) * var(--stack-height)))
    }

    .data-\[swipe-direction\=down\]\:after\:top-full[data-swipe-direction=down]:after {
        content: var(--tw-content);
        top: 100%
    }

    .data-ending-style\:data-\[swipe-direction\=down\]\:\[transform\:translateY\(calc\(var\(--toast-swipe-movement-y\)\+150\%\)\)\][data-ending-style][data-swipe-direction=down],
    .data-expanded\:data-ending-style\:data-\[swipe-direction\=down\]\:\[transform\:translateY\(calc\(var\(--toast-swipe-movement-y\)\+150\%\)\)\][data-expanded][data-ending-style][data-swipe-direction=down] {
        transform: translateY(calc(var(--toast-swipe-movement-y) + 150%))
    }

    .data-\[swipe-direction\=left\]\:left-0[data-swipe-direction=left] {
        left: calc(var(--spacing) * 0)
    }

    .data-\[swipe-direction\=left\]\:origin-left[data-swipe-direction=left] {
        transform-origin: 0
    }

    .data-\[swipe-direction\=left\]\:rounded-r-xl[data-swipe-direction=left] {
        border-top-right-radius: var(--radius-xl);
        border-bottom-right-radius: var(--radius-xl)
    }

    .data-\[swipe-direction\=left\]\:border-r[data-swipe-direction=left] {
        border-right-style: var(--tw-border-style);
        border-right-width: 1px
    }

    .data-\[swipe-direction\=left\]\:\[--closed-transform\:translate3d\(calc\(-100\%-var\(--drawer-inset\,0px\)-2px\)\,0\,0\)\][data-swipe-direction=left] {
        --closed-transform: translate3d(calc(-100% - var(--drawer-inset, 0px) - 2px), 0, 0)
    }

    .data-\[swipe-direction\=left\]\:\[--translate-x\:calc\(var\(--drawer-swipe-movement-x\)\+var\(--stack-peek-offset\)\+\(var\(--stack-shrink\)\*100\%\)\)\][data-swipe-direction=left] {
        --translate-x: calc(var(--drawer-swipe-movement-x) + var(--stack-peek-offset) + (var(--stack-shrink) * 100%))
    }

    .data-\[swipe-direction\=left\]\:after\:right-full[data-swipe-direction=left]:after {
        content: var(--tw-content);
        right: 100%
    }

    .data-ending-style\:data-\[swipe-direction\=left\]\:\[transform\:translateX\(calc\(var\(--toast-swipe-movement-x\)-150\%\)\)_translateY\(var\(--offset-y\)\)\][data-ending-style][data-swipe-direction=left],
    .data-expanded\:data-ending-style\:data-\[swipe-direction\=left\]\:\[transform\:translateX\(calc\(var\(--toast-swipe-movement-x\)-150\%\)\)_translateY\(var\(--offset-y\)\)\][data-expanded][data-ending-style][data-swipe-direction=left] {
        transform: translateX(calc(var(--toast-swipe-movement-x) - 150%)) translateY(var(--offset-y))
    }

    .data-\[swipe-direction\=right\]\:right-0[data-swipe-direction=right] {
        right: calc(var(--spacing) * 0)
    }

    .data-\[swipe-direction\=right\]\:origin-right[data-swipe-direction=right] {
        transform-origin: 100%
    }

    .data-\[swipe-direction\=right\]\:rounded-l-xl[data-swipe-direction=right] {
        border-top-left-radius: var(--radius-xl);
        border-bottom-left-radius: var(--radius-xl)
    }

    .data-\[swipe-direction\=right\]\:border-l[data-swipe-direction=right] {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

    .data-\[swipe-direction\=right\]\:\[--closed-transform\:translate3d\(calc\(100\%\+var\(--drawer-inset\,0px\)\+2px\)\,0\,0\)\][data-swipe-direction=right] {
        --closed-transform: translate3d(calc(100% + var(--drawer-inset, 0px) + 2px), 0, 0)
    }

    .data-\[swipe-direction\=right\]\:\[--translate-x\:calc\(var\(--drawer-swipe-movement-x\)-var\(--stack-peek-offset\)-\(var\(--stack-shrink\)\*100\%\)\)\][data-swipe-direction=right] {
        --translate-x: calc(var(--drawer-swipe-movement-x) - var(--stack-peek-offset) - (var(--stack-shrink) * 100%))
    }

    .data-\[swipe-direction\=right\]\:after\:left-full[data-swipe-direction=right]:after {
        content: var(--tw-content);
        left: 100%
    }

    .data-ending-style\:data-\[swipe-direction\=right\]\:\[transform\:translateX\(calc\(var\(--toast-swipe-movement-x\)\+150\%\)\)_translateY\(var\(--offset-y\)\)\][data-ending-style][data-swipe-direction=right],
    .data-expanded\:data-ending-style\:data-\[swipe-direction\=right\]\:\[transform\:translateX\(calc\(var\(--toast-swipe-movement-x\)\+150\%\)\)_translateY\(var\(--offset-y\)\)\][data-expanded][data-ending-style][data-swipe-direction=right] {
        transform: translateX(calc(var(--toast-swipe-movement-x) + 150%)) translateY(var(--offset-y))
    }

    .data-\[swipe-direction\=up\]\:top-0[data-swipe-direction=up] {
        top: calc(var(--spacing) * 0)
    }

    .data-\[swipe-direction\=up\]\:origin-top[data-swipe-direction=up] {
        transform-origin: top
    }

    .data-\[swipe-direction\=up\]\:rounded-b-xl[data-swipe-direction=up] {
        border-bottom-right-radius: var(--radius-xl);
        border-bottom-left-radius: var(--radius-xl)
    }

    .data-\[swipe-direction\=up\]\:border-b[data-swipe-direction=up] {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px
    }

    .data-\[swipe-direction\=up\]\:\[--closed-transform\:translate3d\(0\,calc\(-100\%-var\(--drawer-inset\,0px\)-2px\)\,0\)\][data-swipe-direction=up] {
        --closed-transform: translate3d(0, calc(-100% - var(--drawer-inset, 0px) - 2px), 0)
    }

    .data-\[swipe-direction\=up\]\:\[--translate-y\:calc\(var\(--drawer-snap-point-offset\,0px\)\+var\(--drawer-swipe-movement-y\)\+var\(--stack-peek-offset\)\+\(var\(--stack-shrink\)\*var\(--stack-height\)\)\)\][data-swipe-direction=up] {
        --translate-y: calc(var(--drawer-snap-point-offset, 0px) + var(--drawer-swipe-movement-y) + var(--stack-peek-offset) + (var(--stack-shrink) * var(--stack-height)))
    }

    .data-\[swipe-direction\=up\]\:after\:bottom-full[data-swipe-direction=up]:after {
        content: var(--tw-content);
        bottom: 100%
    }

    .data-ending-style\:data-\[swipe-direction\=up\]\:\[transform\:translateY\(calc\(var\(--toast-swipe-movement-y\)-150\%\)\)\][data-ending-style][data-swipe-direction=up],
    .data-expanded\:data-ending-style\:data-\[swipe-direction\=up\]\:\[transform\:translateY\(calc\(var\(--toast-swipe-movement-y\)-150\%\)\)\][data-expanded][data-ending-style][data-swipe-direction=up] {
        transform: translateY(calc(var(--toast-swipe-movement-y) - 150%))
    }

    .data-\[variant\=ghost\]\:max-w-full[data-variant=ghost] {
        max-width: 100%
    }

    .data-\[variant\=label\]\:text-sm[data-variant=label] {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height))
    }

    .data-\[variant\=legend\]\:text-base[data-variant=legend] {
        font-size: var(--text-base);
        line-height: var(--tw-leading, var(--text-base--line-height))
    }

    .data-\[variant\=line\]\:rounded-none[data-variant=line] {
        border-radius: 0
    }

    .group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-l-0:is(:where(.group\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"][data-variant=outline] {
        border-left-style: var(--tw-border-style);
        border-left-width: 0
    }

    .group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-t-0:is(:where(.group\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"][data-variant=outline] {
        border-top-style: var(--tw-border-style);
        border-top-width: 0
    }

    .group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-l:is(:where(.group\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"][data-variant=outline]:first-child {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

    .group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-t:is(:where(.group\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"][data-variant=outline]:first-child {
        border-top-style: var(--tw-border-style);
        border-top-width: 1px
    }

    .nth-last-2\:-mt-1:nth-last-child(2) {
        margin-top: calc(var(--spacing) * -1)
    }

    @supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))) {
        .supports-backdrop-filter\:backdrop-blur-xs {
            --tw-backdrop-blur: blur(var(--blur-xs));
            -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
            backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )
        }
    }

    @supports (-webkit-touch-callout:none) {
        .supports-\[-webkit-touch-callout\:none\]\:absolute {
            position: absolute
        }
    }

    @media (width>=40rem) {
        .sm\:right-4 {
            right: calc(var(--spacing) * 4)
        }

        .sm\:left-auto {
            left: auto
        }

        .sm\:mx-0 {
            margin-inline: calc(var(--spacing) * 0)
        }

        .sm\:block {
            display: block
        }

        .sm\:flex {
            display: flex
        }

        .sm\:w-full {
            width: 100%
        }

        .sm\:max-w-sm {
            max-width: var(--container-sm)
        }

        .sm\:flex-row {
            flex-direction: row
        }

        .sm\:justify-end {
            justify-content: flex-end
        }

        .sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *) {
            grid-row: span 2/span 2
        }

        .sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *) {
            place-items: start
        }

        .sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size=default] *) {
            text-align: left
        }

        .sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *) {
            grid-column-start: 2
        }

        .sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]) {
            grid-template-rows: auto 1fr
        }

        .data-\[side\=left\]\:sm\:max-w-sm[data-side=left],
        .data-\[side\=right\]\:sm\:max-w-sm[data-side=right],
        .data-\[size\=default\]\:sm\:max-w-sm[data-size=default] {
            max-width: var(--container-sm)
        }

        .data-\[swipe-axis\=x\]\:sm\:\[--drawer-content-width\:24rem\][data-swipe-axis=x] {
            --drawer-content-width: 24rem
        }
    }

    @media (width>=48rem) {
        .md\:block {
            display: block
        }

        .md\:flex {
            display: flex
        }

        .md\:flex-row {
            flex-direction: row
        }

        .md\:gap-0\.5 {
            gap: calc(var(--spacing) * .5)
        }

        .md\:text-left {
            text-align: left
        }

        .md\:text-sm {
            font-size: var(--text-sm);
            line-height: var(--tw-leading, var(--text-sm--line-height))
        }

        .md\:text-pretty {
            text-wrap: pretty
        }

        .md\:opacity-0 {
            opacity: 0
        }

        .md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*) {
            margin: calc(var(--spacing) * 2)
        }

        .md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*) {
            margin-left: calc(var(--spacing) * 0)
        }

        .md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*) {
            border-radius: var(--radius-xl)
        }

        .md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*) {
            --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
            box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
        }

        .md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*) {
            margin-left: calc(var(--spacing) * 2)
        }

        .md\:after\:hidden:after {
            content: var(--tw-content);
            display: none
        }
    }

    @container field-group (width>=28rem) {
        .\@md\/field-group\:flex-row {
            flex-direction: row
        }

        .\@md\/field-group\:items-center {
            align-items: center
        }

        :is(.\@md\/field-group\:\*\:w-auto>*) {
            width: auto
        }

        .\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]) {
            align-items: flex-start
        }

        :is(.\@md\/field-group\:\*\:data-\[slot\=field-label\]\:flex-auto>*)[data-slot=field-label] {
            flex: auto
        }
    }

    .ltr\:-translate-x-1\/2:where(:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)), [dir=ltr], [dir=ltr] *),
    .rtl\:-translate-x-1\/2:where(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)), [dir=rtl], [dir=rtl] *) {
        --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .rtl\:translate-x-1\/2:where(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)), [dir=rtl], [dir=rtl] *) {
        --tw-translate-x: calc(1 / 2 * 100%);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .dark\:bg-transparent:is(.dark *) {
        background-color: #0000
    }

    .dark\:after\:mix-blend-lighten:is(.dark *):after {
        content: var(--tw-content);
        mix-blend-mode: lighten
    }

    @media (hover:hover) {
        .dark\:hover\:bg-muted\/50:is(.dark *):hover {
            background-color: var(--card)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:hover\:bg-muted\/50:is(.dark *):hover {
                background-color: color-mix(in oklab, var(--card) 50%, transparent)
            }
        }

        .dark\:hover\:text-foreground:is(.dark *):hover {
            color: var(--foreground)
        }
    }

    .dark\:disabled\:bg-transparent:is(.dark *):disabled {
        background-color: #0000
    }

    :where([data-slot=tooltip-content]) .dark\:in-data-\[slot\=tooltip-content\]\:bg-background\/10:is(.dark *) {
        background-color: var(--background)
    }

    @supports (color:color-mix(in lab, red, red)) {
        :where([data-slot=tooltip-content]) .dark\:in-data-\[slot\=tooltip-content\]\:bg-background\/10:is(.dark *) {
            background-color: color-mix(in oklab, var(--background) 10%, transparent)
        }
    }

    .dark\:has-data-checked\:border-primary\/20:is(.dark *):has(:where([data-state=checked]), :where([data-checked]:not([data-checked=false]))) {
        border-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:has-data-checked\:border-primary\/20:is(.dark *):has(:where([data-state=checked]), :where([data-checked]:not([data-checked=false]))) {
            border-color: color-mix(in oklab, var(--primary) 20%, transparent)
        }
    }

    .dark\:has-data-checked\:bg-primary\/10:is(.dark *):has(:where([data-state=checked]), :where([data-checked]:not([data-checked=false]))) {
        background-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:has-data-checked\:bg-primary\/10:is(.dark *):has(:where([data-state=checked]), :where([data-checked]:not([data-checked=false]))) {
            background-color: color-mix(in oklab, var(--primary) 10%, transparent)
        }
    }

    :is(.dark\:\*\:data-\[slot\=bubble-content\]\:bg-\[oklch\(from_var\(--primary\)_0\.3_calc\(c\*0\.4\)_h\)\]:is(.dark *)>*)[data-slot=bubble-content] {
        background-color: oklch(from var(--primary) .3 calc(c * .4) h)
    }

    .data-open\:animate-accordion-down:where([data-state=open]),
    .data-open\:animate-accordion-down:where([data-open]:not([data-open=false])) {
        animation: accordion-down var(--tw-animation-duration, var(--tw-duration, .2s))var(--tw-ease, ease-out)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-open\:animate-in:where([data-state=open]),
    .data-open\:animate-in:where([data-open]:not([data-open=false])) {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-open\:bg-muted\/50:where([data-state=open]),
    .data-open\:bg-muted\/50:where([data-open]:not([data-open=false])) {
        background-color: var(--card)
    }

    @supports (color:color-mix(in lab, red, red)) {

        .data-open\:bg-muted\/50:where([data-state=open]),
        .data-open\:bg-muted\/50:where([data-open]:not([data-open=false])) {
            background-color: color-mix(in oklab, var(--card) 50%, transparent)
        }
    }

    .data-open\:fade-in-0:where([data-state=open]),
    .data-open\:fade-in-0:where([data-open]:not([data-open=false])) {
        --tw-enter-opacity: 0
    }

    .data-open\:zoom-in-95:where([data-state=open]),
    .data-open\:zoom-in-95:where([data-open]:not([data-open=false])) {
        --tw-enter-scale: .95
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-open\:animate-in:is(:where(.group\/navigation-menu)[data-viewport=false] *):where([data-state=open]),
    .group-data-\[viewport\=false\]\/navigation-menu\:data-open\:animate-in:is(:where(.group\/navigation-menu)[data-viewport=false] *):where([data-open]:not([data-open=false])) {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-open\:fade-in-0:is(:where(.group\/navigation-menu)[data-viewport=false] *):where([data-state=open]),
    .group-data-\[viewport\=false\]\/navigation-menu\:data-open\:fade-in-0:is(:where(.group\/navigation-menu)[data-viewport=false] *):where([data-open]:not([data-open=false])) {
        --tw-enter-opacity: 0
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-open\:zoom-in-95:is(:where(.group\/navigation-menu)[data-viewport=false] *):where([data-state=open]),
    .group-data-\[viewport\=false\]\/navigation-menu\:data-open\:zoom-in-95:is(:where(.group\/navigation-menu)[data-viewport=false] *):where([data-open]:not([data-open=false])) {
        --tw-enter-scale: .95
    }

    @media (hover:hover) {
        :is(.data-open\:hover\:bg-muted:where([data-state=open]), .data-open\:hover\:bg-muted:where([data-open]:not([data-open=false]))):hover {
            background-color: var(--card)
        }
    }

    :is(.data-open\:focus\:bg-muted:where([data-state=open]), .data-open\:focus\:bg-muted:where([data-open]:not([data-open=false]))):focus {
        background-color: var(--card)
    }

    .data-closed\:animate-accordion-up:where([data-state=closed]),
    .data-closed\:animate-accordion-up:where([data-closed]:not([data-closed=false])) {
        animation: accordion-up var(--tw-animation-duration, var(--tw-duration, .2s))var(--tw-ease, ease-out)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-closed\:animate-out:where([data-state=closed]),
    .data-closed\:animate-out:where([data-closed]:not([data-closed=false])) {
        animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-closed\:overflow-hidden:where([data-state=closed]),
    .data-closed\:overflow-hidden:where([data-closed]:not([data-closed=false])) {
        overflow: hidden
    }

    .data-closed\:fade-out-0:where([data-state=closed]),
    .data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])) {
        --tw-exit-opacity: 0
    }

    .data-closed\:zoom-out-95:where([data-state=closed]),
    .data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])) {
        --tw-exit-scale: .95
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-closed\:animate-out:is(:where(.group\/navigation-menu)[data-viewport=false] *):where([data-state=closed]),
    .group-data-\[viewport\=false\]\/navigation-menu\:data-closed\:animate-out:is(:where(.group\/navigation-menu)[data-viewport=false] *):where([data-closed]:not([data-closed=false])) {
        animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-closed\:fade-out-0:is(:where(.group\/navigation-menu)[data-viewport=false] *):where([data-state=closed]),
    .group-data-\[viewport\=false\]\/navigation-menu\:data-closed\:fade-out-0:is(:where(.group\/navigation-menu)[data-viewport=false] *):where([data-closed]:not([data-closed=false])) {
        --tw-exit-opacity: 0
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-closed\:zoom-out-95:is(:where(.group\/navigation-menu)[data-viewport=false] *):where([data-state=closed]),
    .group-data-\[viewport\=false\]\/navigation-menu\:data-closed\:zoom-out-95:is(:where(.group\/navigation-menu)[data-viewport=false] *):where([data-closed]:not([data-closed=false])) {
        --tw-exit-scale: .95
    }

    .data-checked\:border-primary:where([data-state=checked]),
    .data-checked\:border-primary:where([data-checked]:not([data-checked=false])) {
        border-color: var(--primary)
    }

    .data-checked\:bg-primary:where([data-state=checked]),
    .data-checked\:bg-primary:where([data-checked]:not([data-checked=false])) {
        background-color: var(--primary)
    }

    .data-checked\:text-primary-foreground:where([data-state=checked]),
    .data-checked\:text-primary-foreground:where([data-checked]:not([data-checked=false])) {
        color: var(--primary-foreground)
    }

    .group-has-\[\:focus-visible\]\/field-label\:data-checked\:border-primary:is(:where(.group\/field-label):has(:focus-visible) *):where([data-state=checked]),
    .group-has-\[\:focus-visible\]\/field-label\:data-checked\:border-primary:is(:where(.group\/field-label):has(:focus-visible) *):where([data-checked]:not([data-checked=false])) {
        border-color: var(--primary)
    }

    .group-data-\[size\=default\]\/switch\:data-checked\:translate-x-\[calc\(100\%-2px\)\]:is(:where(.group\/switch)[data-size=default] *):where([data-state=checked]),
    .group-data-\[size\=default\]\/switch\:data-checked\:translate-x-\[calc\(100\%-2px\)\]:is(:where(.group\/switch)[data-size=default] *):where([data-checked]:not([data-checked=false])),
    .group-data-\[size\=sm\]\/switch\:data-checked\:translate-x-\[calc\(100\%-2px\)\]:is(:where(.group\/switch)[data-size=sm] *):where([data-state=checked]),
    .group-data-\[size\=sm\]\/switch\:data-checked\:translate-x-\[calc\(100\%-2px\)\]:is(:where(.group\/switch)[data-size=sm] *):where([data-checked]:not([data-checked=false])) {
        --tw-translate-x: calc(100% - 2px);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .dark\:data-checked\:bg-primary:is(.dark *):where([data-state=checked]),
    .dark\:data-checked\:bg-primary:is(.dark *):where([data-checked]:not([data-checked=false])) {
        background-color: var(--primary)
    }

    .dark\:data-checked\:bg-primary-foreground:is(.dark *):where([data-state=checked]),
    .dark\:data-checked\:bg-primary-foreground:is(.dark *):where([data-checked]:not([data-checked=false])) {
        background-color: var(--primary-foreground)
    }

    .group-data-\[size\=default\]\/switch\:data-unchecked\:translate-x-0:is(:where(.group\/switch)[data-size=default] *):where([data-state=unchecked]),
    .group-data-\[size\=default\]\/switch\:data-unchecked\:translate-x-0:is(:where(.group\/switch)[data-size=default] *):where([data-unchecked]:not([data-unchecked=false])),
    .group-data-\[size\=sm\]\/switch\:data-unchecked\:translate-x-0:is(:where(.group\/switch)[data-size=sm] *):where([data-state=unchecked]),
    .group-data-\[size\=sm\]\/switch\:data-unchecked\:translate-x-0:is(:where(.group\/switch)[data-size=sm] *):where([data-unchecked]:not([data-unchecked=false])) {
        --tw-translate-x: calc(var(--spacing) * 0);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .dark\:data-unchecked\:bg-foreground:is(.dark *):where([data-state=unchecked]),
    .dark\:data-unchecked\:bg-foreground:is(.dark *):where([data-unchecked]:not([data-unchecked=false])) {
        background-color: var(--foreground)
    }

    .data-selected\:bg-muted:where([data-selected=true]) {
        background-color: var(--card)
    }

    .data-selected\:text-foreground:where([data-selected=true]) {
        color: var(--foreground)
    }

    .data-disabled\:pointer-events-none:where([data-disabled=true]),
    .data-disabled\:pointer-events-none:where([data-disabled]:not([data-disabled=false])) {
        pointer-events: none
    }

    .data-disabled\:cursor-not-allowed:where([data-disabled=true]),
    .data-disabled\:cursor-not-allowed:where([data-disabled]:not([data-disabled=false])) {
        cursor: not-allowed
    }

    .data-disabled\:opacity-50:where([data-disabled=true]),
    .data-disabled\:opacity-50:where([data-disabled]:not([data-disabled=false])) {
        opacity: .5
    }

    .data-active\:bg-background:where([data-state=active]),
    .data-active\:bg-background:where([data-active]:not([data-active=false])) {
        background-color: var(--background)
    }

    .data-active\:bg-muted\/50:where([data-state=active]),
    .data-active\:bg-muted\/50:where([data-active]:not([data-active=false])) {
        background-color: var(--card)
    }

    @supports (color:color-mix(in lab, red, red)) {

        .data-active\:bg-muted\/50:where([data-state=active]),
        .data-active\:bg-muted\/50:where([data-active]:not([data-active=false])) {
            background-color: color-mix(in oklab, var(--card) 50%, transparent)
        }
    }

    .data-active\:font-medium:where([data-state=active]),
    .data-active\:font-medium:where([data-active]:not([data-active=false])) {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .data-active\:text-foreground:where([data-state=active]),
    .data-active\:text-foreground:where([data-active]:not([data-active=false])) {
        color: var(--foreground)
    }

    .group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *):where([data-state=active]),
    .group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *):where([data-active]:not([data-active=false])) {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),
    .group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])) {
        background-color: #0000
    }

    .group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),
    .group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])) {
        --tw-shadow: 0 0 #0000;
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    :is(.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]), .group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false]))):after {
        content: var(--tw-content);
        opacity: 1
    }

    @media (hover:hover) {
        :is(.data-active\:hover\:bg-muted:where([data-state=active]), .data-active\:hover\:bg-muted:where([data-active]:not([data-active=false]))):hover {
            background-color: var(--card)
        }
    }

    :is(.data-active\:focus\:bg-muted:where([data-state=active]), .data-active\:focus\:bg-muted:where([data-active]:not([data-active=false]))):focus {
        background-color: var(--card)
    }

    .dark\:data-active\:text-foreground:is(.dark *):where([data-state=active]),
    .dark\:data-active\:text-foreground:is(.dark *):where([data-active]:not([data-active=false])) {
        color: var(--foreground)
    }

    .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),
    .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])) {
        border-color: #0000
    }

    .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),
    .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])) {
        background-color: #0000
    }

    .data-horizontal\:mx-px:where([data-orientation=horizontal]) {
        margin-inline: 1px
    }

    .data-horizontal\:h-1:where([data-orientation=horizontal]) {
        height: calc(var(--spacing) * 1)
    }

    .data-horizontal\:h-2\.5:where([data-orientation=horizontal]) {
        height: calc(var(--spacing) * 2.5)
    }

    .data-horizontal\:h-full:where([data-orientation=horizontal]) {
        height: 100%
    }

    .data-horizontal\:h-px:where([data-orientation=horizontal]) {
        height: 1px
    }

    .data-horizontal\:w-auto:where([data-orientation=horizontal]) {
        width: auto
    }

    .data-horizontal\:w-full:where([data-orientation=horizontal]) {
        width: 100%
    }

    .data-horizontal\:flex-col:where([data-orientation=horizontal]) {
        flex-direction: column
    }

    .data-horizontal\:border-t:where([data-orientation=horizontal]) {
        border-top-style: var(--tw-border-style);
        border-top-width: 1px
    }

    .data-horizontal\:border-t-transparent:where([data-orientation=horizontal]) {
        border-top-color: #0000
    }

    .data-vertical\:my-px:where([data-orientation=vertical]) {
        margin-block: 1px
    }

    .data-vertical\:h-auto:where([data-orientation=vertical]) {
        height: auto
    }

    .data-vertical\:h-full:where([data-orientation=vertical]) {
        height: 100%
    }

    .data-vertical\:min-h-40:where([data-orientation=vertical]) {
        min-height: calc(var(--spacing) * 40)
    }

    .data-vertical\:w-1:where([data-orientation=vertical]) {
        width: calc(var(--spacing) * 1)
    }

    .data-vertical\:w-2\.5:where([data-orientation=vertical]) {
        width: calc(var(--spacing) * 2.5)
    }

    .data-vertical\:w-auto:where([data-orientation=vertical]) {
        width: auto
    }

    .data-vertical\:w-full:where([data-orientation=vertical]) {
        width: 100%
    }

    .data-vertical\:w-px:where([data-orientation=vertical]) {
        width: 1px
    }

    .data-vertical\:flex-col:where([data-orientation=vertical]) {
        flex-direction: column
    }

    .data-vertical\:items-stretch:where([data-orientation=vertical]) {
        align-items: stretch
    }

    .data-vertical\:self-stretch:where([data-orientation=vertical]) {
        align-self: stretch
    }

    .data-vertical\:border-l:where([data-orientation=vertical]) {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

    .data-vertical\:border-l-transparent:where([data-orientation=vertical]) {
        border-left-color: #0000
    }

    .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc] {
        stroke: var(--border)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc] {
            stroke: color-mix(in oklab, var(--border) 50%, transparent)
        }
    }

    .\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
        stroke: var(--border)
    }

    .\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff] {
        stroke: #0000
    }

    .\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke=\#ccc] {
        stroke: var(--border)
    }

    .\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,
    .\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
        fill: var(--card)
    }

    .\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke=\#ccc] {
        stroke: var(--border)
    }

    .\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff] {
        stroke: #0000
    }

    .\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .\[\&_a\]\:underline a {
        text-decoration-line: underline
    }

    .\[\&_a\]\:underline-offset-3 a {
        text-underline-offset: 3px
    }

    @media (hover:hover) {
        .\[\&_a\]\:hover\:text-foreground a:hover {
            color: var(--foreground)
        }
    }

    .\[\&_img\]\:size-full img {
        width: 100%;
        height: 100%
    }

    .\[\&_img\]\:object-cover img {
        object-fit: cover
    }

    .\[\&_p\:not\(\:last-child\)\]\:mb-4 p:not(:last-child) {
        margin-bottom: calc(var(--spacing) * 4)
    }

    .\[\&_svg\]\:pointer-events-none svg {
        pointer-events: none
    }

    .\[\&_svg\]\:size-4 svg {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4)
    }

    .\[\&_svg\]\:shrink-0 svg {
        flex-shrink: 0
    }

    .data-\[direction\=start\]\:\[\&_svg\]\:rotate-180[data-direction=start] svg {
        rotate: 180deg
    }

    .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]) {
        width: calc(var(--spacing) * 3);
        height: calc(var(--spacing) * 3)
    }

    .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]) {
        width: calc(var(--spacing) * 3.5);
        height: calc(var(--spacing) * 3.5)
    }

    .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]) {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4)
    }

    .group-data-\[orientation\=vertical\]\/attachment\:\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6:is(:where(.group\/attachment)[data-orientation=vertical] *) svg:not([class*=size-]) {
        width: calc(var(--spacing) * 6);
        height: calc(var(--spacing) * 6)
    }

    .group-data-\[size\=xs\]\/attachment\:\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5:is(:where(.group\/attachment)[data-size=xs] *) svg:not([class*=size-]) {
        width: calc(var(--spacing) * 3.5);
        height: calc(var(--spacing) * 3.5)
    }

    .\[\&_tr\]\:border-b tr {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px
    }

    .\[\&_tr\:last-child\]\:border-0 tr:last-child {
        border-style: var(--tw-border-style);
        border-width: 0
    }

    .\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content] {
        flex: none
    }

    .\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-\(--cell-radius\):first-child[data-selected=true] button {
        border-top-left-radius: var(--cell-radius);
        border-bottom-left-radius: var(--cell-radius)
    }

    .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
        padding-right: calc(var(--spacing) * 0)
    }

    .\[\.border-b\]\:pb-\(--card-spacing\).border-b {
        padding-bottom: var(--card-spacing)
    }

    .\[\.border-b\]\:pb-2.border-b {
        padding-bottom: calc(var(--spacing) * 2)
    }

    .\[\.border-t\]\:pt-2.border-t {
        padding-top: calc(var(--spacing) * 2)
    }

    :is(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)), [dir=rtl], [dir=rtl] *) *):is(.rdp-button_next>svg),
    :is(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)), [dir=rtl], [dir=rtl] *) *):is(.rdp-button_previous>svg) {
        rotate: 180deg
    }

    :is(.\*\*\:\[\[cmdk-group-heading\]\]\:px-2 *)[cmdk-group-heading] {
        padding-inline: calc(var(--spacing) * 2)
    }

    :is(.\*\*\:\[\[cmdk-group-heading\]\]\:py-1\.5 *)[cmdk-group-heading] {
        padding-block: calc(var(--spacing) * 1.5)
    }

    :is(.\*\*\:\[\[cmdk-group-heading\]\]\:text-xs *)[cmdk-group-heading] {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height))
    }

    :is(.\*\*\:\[\[cmdk-group-heading\]\]\:font-medium *)[cmdk-group-heading] {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .\[a\]\:underline:is(a) {
        text-decoration-line: underline
    }

    .\[a\]\:underline-offset-3:is(a) {
        text-underline-offset: 3px
    }

    .\[a\]\:transition-colors:is(a) {
        transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    :is(.\*\:\[a\]\:underline>*):is(a) {
        text-decoration-line: underline
    }

    :is(.\*\:\[a\]\:underline-offset-3>*):is(a) {
        text-underline-offset: 3px
    }

    @media (hover:hover) {
        .\[a\]\:hover\:bg-muted:is(a):hover {
            background-color: var(--card)
        }

        .\[a\]\:hover\:bg-primary\/80:is(a):hover {
            background-color: var(--primary)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .\[a\]\:hover\:bg-primary\/80:is(a):hover {
                background-color: color-mix(in oklab, var(--primary) 80%, transparent)
            }
        }

        .\[a\]\:hover\:text-foreground:is(a):hover,
        :is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover {
            color: var(--foreground)
        }
    }

    .\[button\]\:text-left:is(button) {
        text-align: left
    }

    .\[button\,a\]\:transition-colors:is(button, a) {
        transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .\[button\,a\]\:outline-none:is(button, a) {
        --tw-outline-style: none;
        outline-style: none
    }

    .\[button\,a\]\:focus-visible\:border-ring:is(button, a):focus-visible {
        border-color: var(--primary)
    }

    .\[button\,a\]\:focus-visible\:ring-3:is(button, a):focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .\[button\,a\]\:focus-visible\:ring-ring\/50:is(button, a):focus-visible {
        --tw-ring-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .\[button\,a\]\:focus-visible\:ring-ring\/50:is(button, a):focus-visible {
            --tw-ring-color: color-mix(in oklab, var(--primary) 50%, transparent)
        }
    }

    :is(.\*\:\[img\]\:aspect-square>*):is(img) {
        aspect-ratio: 1
    }

    :is(.\*\:\[img\]\:w-full>*):is(img) {
        width: 100%
    }

    :is(.\*\:\[img\]\:object-cover>*):is(img) {
        object-fit: cover
    }

    :is(.\*\:\[img\:first-child\]\:rounded-t-xl>*):is(img:first-child) {
        border-top-left-radius: var(--radius-xl);
        border-top-right-radius: var(--radius-xl)
    }

    :is(.\*\:\[img\:last-child\]\:rounded-b-xl>*):is(img:last-child) {
        border-bottom-right-radius: var(--radius-xl);
        border-bottom-left-radius: var(--radius-xl)
    }

    :is(.\*\:\[span\]\:last\:flex>*):is(span):last-child {
        display: flex
    }

    :is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child {
        align-items: center
    }

    :is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child {
        gap: calc(var(--spacing) * 2)
    }

    :is(.\*\:\[svg\]\:row-span-2>*):is(svg) {
        grid-row: span 2/span 2
    }

    :is(.\*\:\[svg\]\:translate-y-0\.5>*):is(svg) {
        --tw-translate-y: calc(var(--spacing) * .5);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    :is(.\*\:\[svg\]\:text-current>*):is(svg) {
        color: currentColor
    }

    :is(.data-selected\:\*\:\[svg\]\:text-foreground:where([data-selected=true])>*):is(svg) {
        color: var(--foreground)
    }

    :is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>*):is(svg:not([class*=size-])) {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4)
    }

    :is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6>*):is(svg:not([class*=size-])) {
        width: calc(var(--spacing) * 6);
        height: calc(var(--spacing) * 6)
    }

    .\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-\(--cell-radius\):last-child[data-selected=true] button {
        border-top-right-radius: var(--cell-radius);
        border-bottom-right-radius: var(--cell-radius)
    }

    .\[\&\:nth-child\(2\)\[data-selected\=true\]_button\]\:rounded-l-\(--cell-radius\):nth-child(2)[data-selected=true] button {
        border-top-left-radius: var(--cell-radius);
        border-bottom-left-radius: var(--cell-radius)
    }

    .\[\&\>\.sr-only\]\:w-auto>.sr-only {
        width: auto
    }

    .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--muted\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button, a):hover {
        background-color: var(--muted)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--muted\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button, a):hover {
            background-color: color-mix(in oklch, var(--muted), var(--foreground) 5%)
        }
    }

    .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button, a):hover {
        background-color: var(--secondary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button, a):hover {
            background-color: color-mix(in oklch, var(--secondary), var(--foreground) 5%)
        }
    }

    .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.88_calc\(c\*0\.5\)_h\)\]>[data-slot=bubble-content]:is(button, a):hover {
        background-color: oklch(from var(--primary) .88 calc(c * .5) h)
    }

    .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-muted>[data-slot=bubble-content]:is(button, a):hover {
        background-color: var(--card)
    }

    .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-primary\/80>[data-slot=bubble-content]:is(button, a):hover {
        background-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-primary\/80>[data-slot=bubble-content]:is(button, a):hover {
            background-color: color-mix(in oklab, var(--primary) 80%, transparent)
        }
    }

    .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:text-foreground>[data-slot=bubble-content]:is(button, a):hover {
        color: var(--foreground)
    }

    .dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.35_calc\(c\*0\.5\)_h\)\]:is(.dark *)>[data-slot=bubble-content]:is(button, a):hover {
        background-color: oklch(from var(--primary) .35 calc(c * .5) h)
    }

    .dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-muted\/50:is(.dark *)>[data-slot=bubble-content]:is(button, a):hover {
        background-color: var(--card)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-muted\/50:is(.dark *)>[data-slot=bubble-content]:is(button, a):hover {
            background-color: color-mix(in oklab, var(--card) 50%, transparent)
        }
    }

    .has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-lg:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type {
        border-top-right-radius: var(--radius-lg);
        border-bottom-right-radius: var(--radius-lg)
    }

    .\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*=w-]) {
        width: fit-content
    }

    .\[\&\>\[data-slot\]\:not\(\:has\(\~\[data-slot\]\)\)\]\:rounded-r-lg\!>[data-slot]:not(:has(~[data-slot])) {
        border-top-right-radius: var(--radius-lg) !important;
        border-bottom-right-radius: var(--radius-lg) !important
    }

    .\[\&\>\[data-slot\]\:not\(\:has\(\~\[data-slot\]\)\)\]\:rounded-b-lg\!>[data-slot]:not(:has(~[data-slot])) {
        border-bottom-right-radius: var(--radius-lg) !important;
        border-bottom-left-radius: var(--radius-lg) !important
    }

    .\[\&\>\[data-slot\]\~\[data-slot\]\]\:rounded-t-none>[data-slot]~[data-slot] {
        border-top-left-radius: 0;
        border-top-right-radius: 0
    }

    .\[\&\>\[data-slot\]\~\[data-slot\]\]\:rounded-l-none>[data-slot]~[data-slot] {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0
    }

    .\[\&\>\[data-slot\]\~\[data-slot\]\]\:border-t-0>[data-slot]~[data-slot] {
        border-top-style: var(--tw-border-style);
        border-top-width: 0
    }

    .\[\&\>\[data-slot\]\~\[data-slot\]\]\:border-l-0>[data-slot]~[data-slot] {
        border-left-style: var(--tw-border-style);
        border-left-width: 0
    }

    :is(.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox], .has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]) {
        margin-top: 1px
    }

    @container field-group (width>=28rem) {
        :is(.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox], .\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]) {
            margin-top: 1px
        }
    }

    .\[\&\>a\]\:underline>a {
        text-decoration-line: underline
    }

    .\[\&\>a\]\:underline-offset-4>a {
        text-underline-offset: 4px
    }

    .\[\&\>a\:hover\]\:text-primary>a:hover {
        color: var(--primary)
    }

    .\[\&\>button\]\:hidden>button {
        display: none
    }

    .\[\&\>input\]\:flex-1>input {
        flex: 1
    }

    .has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has(>[data-align=block-end])>input {
        padding-top: calc(var(--spacing) * 3)
    }

    .has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has(>[data-align=block-start])>input {
        padding-bottom: calc(var(--spacing) * 3)
    }

    .has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-1\.5:has(>[data-align=inline-end])>input {
        padding-right: calc(var(--spacing) * 1.5)
    }

    .has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-1\.5:has(>[data-align=inline-start])>input {
        padding-left: calc(var(--spacing) * 1.5)
    }

    .\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd {
        border-radius: calc(var(--radius) - 5px)
    }

    .\[\&\>span\]\:text-xs>span {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height))
    }

    .\[\&\>span\]\:opacity-70>span {
        opacity: .7
    }

    .\[\&\>span\:last-child\]\:truncate>span:last-child {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden
    }

    .\[\&\>svg\]\:pointer-events-none>svg {
        pointer-events: none
    }

    .\[\&\>svg\]\:size-3\!>svg {
        width: calc(var(--spacing) * 3) !important;
        height: calc(var(--spacing) * 3) !important
    }

    .\[\&\>svg\]\:size-3\.5>svg {
        width: calc(var(--spacing) * 3.5);
        height: calc(var(--spacing) * 3.5)
    }

    .\[\&\>svg\]\:size-4>svg {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4)
    }

    .\[\&\>svg\]\:h-2\.5>svg {
        height: calc(var(--spacing) * 2.5)
    }

    .\[\&\>svg\]\:h-3>svg {
        height: calc(var(--spacing) * 3)
    }

    .\[\&\>svg\]\:w-2\.5>svg {
        width: calc(var(--spacing) * 2.5)
    }

    .\[\&\>svg\]\:w-3>svg {
        width: calc(var(--spacing) * 3)
    }

    .\[\&\>svg\]\:shrink-0>svg {
        flex-shrink: 0
    }

    .group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5:is(:where(.group\/avatar-group):has([data-size=lg]) *)>svg {
        width: calc(var(--spacing) * 5);
        height: calc(var(--spacing) * 5)
    }

    .group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3:is(:where(.group\/avatar-group):has([data-size=sm]) *)>svg {
        width: calc(var(--spacing) * 3);
        height: calc(var(--spacing) * 3)
    }

    .group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=default] *)>svg,
    .group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=lg] *)>svg {
        width: calc(var(--spacing) * 2);
        height: calc(var(--spacing) * 2)
    }

    .group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size=sm] *)>svg {
        display: none
    }

    .\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]) {
        width: calc(var(--spacing) * 3.5);
        height: calc(var(--spacing) * 3.5)
    }

    .\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*=size-]) {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4)
    }

    .\[\&\>tr\]\:last\:border-b-0>tr:last-child {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 0
    }

    .\[\&\[aria-orientation\=horizontal\]\>div\]\:rotate-90[aria-orientation=horizontal]>div {
        rotate: 90deg
    }

    .\[\&\[data-ending-style\]\:not\(\[data-limited\]\)\:not\(\[data-swipe-direction\]\)\]\:\[transform\:translateY\(150\%\)\][data-ending-style]:not([data-limited]):not([data-swipe-direction]) {
        transform: translateY(150%)
    }

    [data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
        right: calc(var(--spacing) * -2)
    }

    [data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
        cursor: e-resize
    }

    [data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
        left: calc(var(--spacing) * -2)
    }

    [data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
        cursor: w-resize
    }

    [data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5 {
        margin-top: calc(var(--spacing) * -1.5)
    }
}

@property --tw-animation-delay {
    syntax: "*";
    inherits: false;
    initial-value: 0s
}

@property --tw-animation-direction {
    syntax: "*";
    inherits: false;
    initial-value: normal
}

@property --tw-animation-duration {
    syntax: "*";
    inherits: false
}

@property --tw-animation-fill-mode {
    syntax: "*";
    inherits: false;
    initial-value: none
}

@property --tw-animation-iteration-count {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-enter-blur {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-enter-opacity {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-enter-rotate {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-enter-scale {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-enter-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-enter-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-exit-blur {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-exit-opacity {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-exit-rotate {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-exit-scale {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-exit-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-exit-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --scroll-fade-t {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0
}

@property --scroll-fade-b {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0
}

@property --scroll-fade-s {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0
}

@property --scroll-fade-e {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0
}

@property --scroll-fade-mask {
    syntax: "*";
    inherits: false
}

@property --shimmer-angle {
    syntax: "<angle>";
    inherits: true;
    initial-value: 20deg
}

@property --shimmer-image {
    syntax: "*";
    inherits: false
}

@property --shimmer-text-fill {
    syntax: "*";
    inherits: false
}

@media (prefers-reduced-motion:reduce) {
    .shimmer {
        -webkit-text-fill-color: currentColor;
        background-image: none;
        animation: none
    }
}

:root {
    --lightningcss-light: ;
    --lightningcss-dark: initial;
    color-scheme: dark;
    --background: #090e11;
    --foreground: #f1f5f3;
    --card: #11191d;
    --border: #273137;
    --muted: #9ca9ae;
    --primary: #c0f36b;
    --primary-foreground: #101909;
    --soft: #111b16;
    --grid: #233c2d;
    --radius: .5rem
}

:root[data-theme=light] {
    --lightningcss-light: initial;
    --lightningcss-dark: ;
    color-scheme: light;
    --background: #f8faf7;
    --foreground: #14251e;
    --card: #fff;
    --border: #cdd8d1;
    --muted: #52665c;
    --primary: #3d7115;
    --primary-foreground: #fff;
    --soft: #edf4e8;
    --grid: #c8dcc6
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 95px
}

body {
    background: var(--background);
    color: var(--foreground);
    font-family: var(--font-geist-sans), Arial, sans-serif;
    margin: 0
}

a {
    color: inherit;
    text-decoration: none
}

button,
a {
    -webkit-tap-highlight-color: transparent
}

button {
    cursor: pointer
}

a:focus-visible,
button:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 5px
}

p {
    color: var(--muted);
    margin: 0;
    line-height: 1.7
}

h1,
h2,
h3 {
    letter-spacing: -.055em;
    margin: 0;
    font-weight: 500
}

em {
    color: var(--primary);
    font-style: normal
}

.wrap {
    width: calc(100% - 112px);
    max-width: 1380px;
    margin: auto
}

.header {
    border-bottom: 1px solid var(--border);
    justify-content: space-between;
    align-items: center;
    gap: 28px;
    height: 102px;
    display: flex
}

.brand {
    letter-spacing: -2.7px;
    font-size: 36px;
    font-weight: 750;
    line-height: 1
}

.brand span {
    color: var(--primary)
}

.brand small {
    letter-spacing: 3.2px;
    margin-top: 7px;
    font-size: 9px;
    font-weight: 500;
    display: block
}

.nav,
.header-actions {
    align-items: center;
    gap: 30px;
    display: flex
}

.nav a {
    color: var(--muted);
    font-size: 14px
}

.nav a:hover,
.text-link:hover {
    color: var(--primary)
}

.header-actions {
    gap: 20px
}

.theme-button {
    color: var(--muted);
    height: 40px !important;
    padding: 10px !important;
    font-size: 12px !important
}

.login {
    border: 1px solid var(--border);
    border-radius: 5px;
    gap: 15px;
    padding: 12px 16px;
    font-size: 14px;
    display: flex
}

.menu-button {
    display: none !important
}

.hero {
    grid-template-columns: 1.05fr 1fr;
    align-items: center;
    gap: 48px;
    min-height: 660px;
    padding-top: 64px;
    padding-bottom: 58px;
    display: grid
}

.eyebrow {
    font-family: var(--font-geist-mono), monospace;
    letter-spacing: 1.8px;
    color: var(--primary);
    font-size: 12px;
    line-height: 1.7
}

.status-dot {
    background: var(--primary);
    vertical-align: middle;
    border-radius: 50%;
    width: 6px;
    height: 6px;
    margin-right: 9px;
    display: inline-block;
    box-shadow: 0 0 12px #98e34d66
}

h1 {
    margin: 25px 0;
    font-size: clamp(60px, 5.8vw, 88px);
    line-height: 1.03
}

.intro {
    font-size: 18px;
    line-height: 1.65
}

.actions {
    align-items: center;
    gap: 28px;
    margin-top: 32px;
    display: flex
}

.cta {
    background: var(--primary);
    color: var(--primary-foreground);
    border: 1px solid var(--primary);
    border-radius: 5px;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
    padding: 15px 20px;
    font-size: 14px;
    font-weight: 650;
    transition: transform .2s;
    display: inline-flex
}

.cta:hover {
    transform: translateY(-3px)
}

.text-link {
    align-items: center;
    gap: 14px;
    font-size: 14px;
    display: inline-flex
}

.hero-foot {
    color: var(--muted);
    align-items: center;
    gap: 10px;
    margin-top: 36px;
    font-size: 12px;
    display: flex
}

.hero-foot svg {
    color: var(--primary)
}

.energy-visual {
    border: 1px solid var(--border);
    background: radial-gradient(ellipse at center, var(--soft), transparent 75%), var(--background);
    border-radius: 10px;
    min-width: 0;
    position: relative;
    box-shadow: 0 30px 90px #00000014
}

.diagram-top,
.diagram-bottom {
    font-family: var(--font-geist-mono), monospace;
    letter-spacing: 1px;
    color: var(--muted);
    justify-content: space-between;
    gap: 10px;
    padding: 18px 20px;
    font-size: 10px;
    display: flex
}

.diagram-top {
    border-bottom: 1px solid var(--border)
}

.diagram-top i {
    border: 1px solid var(--primary);
    width: 6px;
    height: 6px;
    margin-right: 8px;
    display: inline-block
}

.diagram-bottom {
    border-top: 1px solid var(--border);
    letter-spacing: 0;
    font-size: 11px
}

.diagram-bottom small {
    letter-spacing: 1px;
    font-size: 9px
}

.diagram {
    aspect-ratio: 540/470;
    background-image: radial-gradient(var(--grid) .8px, transparent .8px);
    background-size: 19px 19px;
    position: relative
}

.connections {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0
}

.connections path {
    stroke: var(--primary);
    stroke-width: 1px;
    opacity: .4
}

.connections circle {
    stroke: var(--grid);
    stroke-dasharray: 3 7;
    stroke-width: .7px
}

.connections .moving {
    stroke-dasharray: 5 18;
    opacity: 1;
    stroke-width: 2px;
    animation: 5s linear infinite flow
}

.system-node {
    background: var(--background);
    flex-direction: column;
    align-items: center;
    gap: 7px;
    min-width: 100px;
    padding: 10px;
    display: flex;
    position: absolute;
    transform: translate(-50%, -50%)
}

.system-node svg {
    color: var(--primary);
    stroke-width: 1.3px;
    width: 26px;
    height: 26px
}

.system-node span {
    letter-spacing: 1px;
    font-size: 11px;
    font-family: var(--font-geist-mono), monospace
}

.system-node small {
    color: var(--muted);
    font-size: 10px
}

.solar {
    top: 18%;
    left: 50%
}

.grid {
    top: 50%;
    left: 17%
}

.generator {
    top: 50%;
    left: 83%
}

.load {
    top: 83%;
    left: 50%
}

.core {
    border: 1px solid var(--primary);
    background: var(--soft);
    border-radius: 15px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: 124px;
    height: 114px;
    display: flex;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 45px #b6ed6818, inset 0 0 22px #b6ed680b
}

.core>span {
    letter-spacing: -2px;
    font-size: 29px;
    font-weight: 700
}

.core small {
    letter-spacing: .8px;
    color: var(--primary);
    font-size: 8px
}

.core-lights {
    gap: 5px;
    display: flex
}

.core-lights i {
    background: var(--primary);
    border-radius: 50%;
    width: 3px;
    height: 3px
}

.diagram-label {
    letter-spacing: 1px;
    color: var(--muted);
    font-size: 8px;
    position: absolute;
    bottom: 12px;
    left: 15px
}

.proof {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    grid-template-columns: repeat(4, 1fr);
    padding: 28px 0;
    display: grid
}

.proof>div {
    border-right: 1px solid var(--border);
    padding: 0 34px
}

.proof>div:first-child {
    padding-left: 0
}

.proof>div:last-child {
    border: 0
}

.proof strong {
    letter-spacing: -1px;
    font-size: 32px;
    font-weight: 500
}

.proof strong span {
    color: var(--primary)
}

.proof p {
    margin-top: 4px;
    font-size: 12px
}

.section {
    padding-top: 96px;
    padding-bottom: 96px
}

.section-heading {
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    margin-bottom: 36px;
    display: flex
}

h2 {
    margin-top: 15px;
    font-size: clamp(35px, 3.4vw, 51px);
    line-height: 1.14
}

.section-heading h2 span {
    color: var(--muted)
}

.section-heading>p {
    font-size: 15px
}

.solution-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    display: grid
}

.solution-card {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 8px;
    padding: 30px;
    transition: border-color .2s, transform .2s
}

.solution-card:hover {
    border-color: var(--primary);
    transform: translateY(-4px)
}

.card-top {
    color: var(--primary);
    justify-content: space-between;
    align-items: center;
    margin-bottom: 45px;
    display: flex
}

.card-top>span {
    color: var(--muted);
    font-family: monospace;
    font-size: 12px
}

.solution-card .eyebrow {
    font-size: 10px
}

.solution-card h3 {
    letter-spacing: -1px;
    margin: 12px 0 14px;
    font-size: 25px
}

.solution-card>p:not(.eyebrow) {
    min-height: 96px;
    font-size: 14px
}

.card-link {
    border-top: 1px solid var(--border);
    justify-content: space-between;
    margin-top: 25px;
    padding-top: 22px;
    font-size: 13px;
    display: flex
}

.card-link svg {
    color: var(--primary)
}

.platform-section {
    background: var(--soft);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border)
}

.platform {
    grid-template-columns: .9fr 1.1fr;
    align-items: center;
    gap: 70px;
    padding-top: 76px;
    padding-bottom: 76px;
    display: grid
}

.platform-copy>p:not(.eyebrow) {
    max-width: 460px;
    margin-top: 25px;
    font-size: 16px
}

.platform ul {
    color: var(--muted);
    gap: 12px;
    margin: 25px 0 30px;
    padding: 0;
    font-size: 14px;
    list-style: none;
    display: grid
}

.platform li {
    align-items: center;
    gap: 12px;
    display: flex
}

.platform li svg {
    width: 15px;
    color: var(--primary)
}

.platform-image {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 10px;
    padding: 24px;
    overflow: hidden
}

.platform-image img {
    object-fit: contain;
    width: 100%;
    height: auto;
    margin: 35px 0;
    display: block
}

.platform-image>div {
    border-top: 1px solid var(--border);
    color: var(--muted);
    justify-content: space-between;
    gap: 15px;
    padding-top: 20px;
    font-size: 10px;
    display: flex
}

.platform-image>div span:first-child {
    align-items: center;
    gap: 8px;
    font-size: 12px;
    display: flex
}

.platform-image>div span:last-child {
    color: var(--primary);
    letter-spacing: 1px
}

.accessories {
    border: 1px solid var(--border);
    border-radius: 8px;
    grid-template-columns: repeat(4, 1fr);
    display: grid;
    overflow: hidden
}

.accessories>a {
    border-right: 1px solid var(--border);
    padding: 28px 24px;
    transition: background .2s;
    position: relative
}

.accessories>a:hover {
    background: var(--soft)
}

.accessories>a:last-child {
    border: 0
}

.accessories svg {
    color: var(--primary);
    stroke-width: 1.4px
}

.accessories h3 {
    letter-spacing: -.5px;
    margin: 24px 0 10px;
    font-size: 19px
}

.accessories p {
    max-width: 200px;
    font-size: 12px
}

.accessories .accessory-arrow {
    color: var(--muted);
    position: absolute;
    top: 25px;
    right: 22px
}

.partners {
    border-top: 1px solid var(--border);
    padding: 34px 0 65px
}

.partners>.eyebrow {
    text-align: center;
    color: var(--muted);
    font-size: 10px
}

.partners>div {
    color: var(--muted);
    letter-spacing: -.8px;
    justify-content: space-around;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
    font-size: 24px;
    font-weight: 600;
    display: flex
}

.contact {
    border: 1px solid var(--border);
    background: var(--soft);
    border-radius: 10px;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    margin-bottom: 65px;
    padding: 55px 60px;
    display: flex
}

.contact p:not(.eyebrow) {
    margin-top: 20px;
    font-size: 15px
}

.contact-link {
    letter-spacing: -.6px;
    border-bottom: 1px solid var(--primary);
    grid-template-columns: 1fr auto;
    gap: 20px 50px;
    padding-bottom: 20px;
    font-size: 25px;
    display: grid
}

.contact-link svg {
    color: var(--primary)
}

.contact-link small {
    color: var(--muted);
    letter-spacing: 0;
    font-size: 13px
}

.contact-actions {
    flex-direction: column;
    gap: 22px;
    display: flex
}

.contact .contact-tech p,
.contact p.contact-tech-phones {
    margin-top: 0
}

.contact-tech {
    flex-direction: column;
    gap: 6px;
    font-size: 15px;
    display: flex
}

.contact .contact-tech .contact-tech-label {
    color: var(--muted);
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 12px
}

.contact-tech-phones {
    flex-wrap: wrap;
    gap: 6px 10px;
    font-size: 15px;
    display: flex
}

.contact-tech-phones span {
    color: var(--muted)
}

.contact-tech a:hover,
.contact-tech-phones a:hover {
    color: var(--primary)
}

.connect-dialog {
    color: var(--foreground);
    background: none;
    border: 0;
    width: min(960px, 100% - 32px);
    max-width: none;
    margin: auto;
    padding: 0;
    position: fixed;
    overflow: visible
}

.connect-dialog::backdrop {
    backdrop-filter: blur(3px);
    background: #000000a6
}

.connect-dialog .contact {
    background: linear-gradient(115deg, var(--soft), var(--card));
    border-top: 2px solid var(--brand-orange);
    margin: 0
}

.connect-close {
    color: #fff;
    z-index: 1;
    cursor: pointer;
    background: none;
    border: 0;
    padding: 4px 10px;
    font-size: 28px;
    line-height: 1;
    position: absolute;
    top: -44px;
    right: 0
}

.connect-close:hover {
    color: var(--primary)
}

.footer-grid {
    grid-template-columns: .8fr 1.2fr 1fr 1.2fr;
    gap: 30px;
    display: grid
}

.footer-grid h3 {
    letter-spacing: 0;
    margin-bottom: 18px;
    font-size: 13px
}

.footer-grid p,
.footer-grid>div>a:not(.brand) {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.8;
    display: block
}

.footer-grid p {
    margin-top: 16px
}

.footer-bottom {
    border-top: 1px solid var(--border);
    color: var(--muted);
    justify-content: space-between;
    gap: 20px;
    margin-top: 45px;
    padding: 25px 0 30px;
    font-size: 11px;
    display: flex
}

.footer-bottom a {
    align-items: center;
    gap: 7px;
    display: flex
}

.skip {
    background: var(--primary);
    color: var(--primary-foreground);
    z-index: 100;
    padding: 15px;
    position: absolute;
    top: -100px;
    left: 20px
}

.skip:focus {
    top: 10px
}

@keyframes flow {
    to {
        stroke-dashoffset: -92px
    }
}

@media (width>=1500px) {
    .hero {
        min-height: 750px
    }
}

@media (width<=1100px) {
    .wrap {
        width: calc(100% - 64px)
    }

    .nav {
        gap: 18px
    }

    .header-actions {
        gap: 8px
    }

    .hero {
        gap: 28px
    }

    h1 {
        font-size: 65px
    }

    .actions {
        gap: 18px
    }

    .text-link {
        font-size: 12px
    }

    .platform {
        gap: 35px
    }

    .solution-card {
        padding: 24px
    }

    .proof>div {
        padding: 0 20px
    }

    .proof strong {
        font-size: 28px
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr
    }

    .contact {
        padding: 40px
    }

    .theme-button span {
        display: none
    }

    .system-node {
        min-width: 80px
    }

    .core {
        width: 100px;
        height: 96px
    }

    .system-node span {
        font-size: 9px
    }
}

@media (width<=760px) {
    .wrap {
        width: calc(100% - 40px)
    }

    .header {
        gap: 10px;
        height: 85px
    }

    .brand {
        font-size: 30px
    }

    .brand small {
        font-size: 8px
    }

    .menu-button {
        display: inline-flex !important
    }

    .login {
        padding: 10px;
        font-size: 12px
    }

    .nav {
        background: var(--background);
        border-bottom: 1px solid var(--border);
        z-index: 10;
        padding: 25px;
        display: none;
        position: absolute;
        top: 85px;
        left: 0;
        right: 0
    }

    .nav.open {
        flex-wrap: wrap;
        gap: 25px;
        display: flex
    }

    .hero {
        grid-template-columns: 1fr;
        gap: 40px;
        padding-top: 40px;
        padding-bottom: 40px
    }

    .eyebrow {
        letter-spacing: 1.2px;
        font-size: 10px
    }

    h1 {
        font-size: clamp(56px, 13vw, 80px)
    }

    .intro {
        font-size: 16px
    }

    .hero-foot {
        margin-top: 25px
    }

    .energy-visual {
        width: 100%;
        max-width: 550px;
        margin: auto
    }

    .proof {
        grid-template-columns: 1fr 1fr;
        row-gap: 25px
    }

    .proof>div:nth-child(2) {
        border: 0
    }

    .proof>div:nth-child(3) {
        padding-left: 0
    }

    .proof strong {
        font-size: 28px
    }

    .proof p {
        font-size: 11px
    }

    .section {
        padding-top: 60px;
        padding-bottom: 60px
    }

    .section-heading {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px
    }

    .section-heading>p {
        font-size: 14px
    }

    .solution-grid {
        grid-template-columns: 1fr
    }

    .solution-card>p:not(.eyebrow) {
        min-height: 0
    }

    .card-top {
        margin-bottom: 28px
    }

    .platform {
        grid-template-columns: 1fr;
        gap: 35px;
        padding: 55px 0
    }

    .accessories {
        grid-template-columns: 1fr 1fr
    }

    .accessories>a {
        border-bottom: 1px solid var(--border)
    }

    .accessories>a:nth-child(2) {
        border-right: 0
    }

    .accessories>a:nth-child(3) {
        border-bottom: 0
    }

    .accessories h3 {
        font-size: 17px
    }

    .accessories>a {
        padding: 22px 17px
    }

    .partners>div {
        text-align: center;
        grid-template-columns: 1fr 1fr;
        gap: 25px;
        font-size: 20px;
        display: grid
    }

    .contact {
        flex-direction: column;
        align-items: stretch;
        gap: 35px;
        padding: 30px
    }

    .contact-link {
        font-size: 23px
    }

    .contact-link small {
        font-size: 11px
    }

    .footer-grid {
        gap: 35px 20px
    }

    .footer-grid>div>a:not(.brand) {
        overflow-wrap: anywhere
    }

    .footer-bottom {
        flex-wrap: wrap;
        font-size: 10px
    }

    .footer-bottom>span {
        width: 100%
    }
}

@media (prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    *,
    :before,
    :after {
        transition: none !important;
        animation: none !important
    }
}

.proof p,
.hero-foot,
.footer-grid p,
.footer-grid>div>a:not(.brand),
.accessories p,
.card-link {
    font-size: 14px
}

.system-node small,
.system-node span,
.diagram-top,
.diagram-bottom,
.diagram-bottom small,
.diagram-label {
    font-size: 12px
}

.diagram-label {
    display: none
}

.core small {
    font-size: 10px
}

.solution-card .eyebrow,
.partners>.eyebrow,
.platform-image>div span,
.platform-image>div span:first-child,
.footer-bottom {
    font-size: 12px
}

@media (width<=760px) {

    .diagram-top,
    .diagram-bottom,
    .diagram-bottom small,
    .system-node span,
    .system-node small {
        font-size: 10px
    }

    .proof p {
        font-size: 12px
    }

    .text-link {
        font-size: 14px
    }

    .footer-grid {
        grid-template-columns: 1fr
    }

    .accessories p {
        font-size: 14px
    }
}

.coverage {
    flex-wrap: wrap;
    gap: 10px;
    padding-bottom: 35px;
    display: flex
}

.coverage span {
    color: var(--muted);
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 7px 12px;
    font-size: 12px
}

.numbers-section {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 30px 0 35px
}

.numbers-heading,
.telemetry-heading {
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 24px;
    display: flex
}

.numbers-heading>span,
.telemetry-heading>span {
    color: var(--muted);
    font-size: 12px
}

.full-stats {
    grid-template-columns: repeat(6, 1fr);
    display: grid
}

.full-stats>div {
    border-right: 1px solid var(--border);
    padding: 0 23px
}

.full-stats>div:first-child {
    padding-left: 0
}

.full-stats>div:last-child {
    border: 0
}

.full-stats strong {
    letter-spacing: -1.5px;
    color: var(--primary);
    font-size: 36px;
    font-weight: 500
}

.full-stats p {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.5
}

.feature-grid {
    grid-template-columns: repeat(6, 1fr);
    gap: 15px;
    display: grid
}

.feature-grid>div {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 7px;
    padding: 24px 20px
}

.feature-grid svg {
    color: var(--primary);
    stroke-width: 1.5px
}

.feature-grid h3 {
    letter-spacing: -.3px;
    margin-top: 22px;
    font-size: 16px;
    line-height: 1.5
}

.hardware-section {
    padding-bottom: 45px
}

.integrations-section {
    padding-top: 45px;
    padding-bottom: 45px
}

.integration-grid {
    grid-template-columns: repeat(6, 1fr);
    gap: 15px;
    display: grid
}

.integration-grid>article {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 16px;
    padding: 24px 20px;
    transition: transform .2s, border-color .2s
}

.integration-grid>article:hover {
    border-color: var(--brand-blue);
    transform: translateY(-5px)
}

.integration-logo {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    width: 58px;
    height: 58px;
    margin-bottom: 28px;
    padding: 8px
}

.integration-logo img {
    object-fit: contain;
    width: 100%;
    height: 100%
}

.integration-grid h3 {
    letter-spacing: -.4px;
    margin: 0 0 12px;
    font-size: 19px;
    line-height: 1.3
}

.integration-grid p {
    margin: 0;
    font-size: 13px;
    line-height: 1.7
}

@media (prefers-reduced-motion:reduce) {
    .integration-grid>article {
        transition: none
    }

    .integration-grid>article:hover {
        transform: none
    }
}

.service-section {
    border-bottom: 1px solid var(--border);
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    padding-top: 50px;
    padding-bottom: 60px;
    display: grid
}

.service-list>div {
    border-bottom: 1px solid var(--border);
    align-items: center;
    gap: 20px;
    padding: 18px 0;
    display: flex
}

.service-list>div:first-child {
    padding-top: 0
}

.service-list span {
    color: var(--muted);
    font-size: 12px
}

.service-list svg {
    width: 20px;
    min-width: 20px;
    color: var(--primary)
}

.service-list p {
    font-size: 15px
}

.restored-solutions {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    display: grid
}

.restored-product {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 9px;
    transition: border-color .2s;
    overflow: hidden
}

.restored-product:hover {
    border-color: var(--primary)
}

.product-art {
    background: #f4f6f5;
    justify-content: center;
    align-items: center;
    height: 260px;
    padding: 25px;
    display: flex
}

.product-art img {
    object-fit: contain;
    width: 100%;
    height: 100%
}

.product-copy {
    padding: 28px
}

.product-copy h3 {
    letter-spacing: -.8px;
    margin: 10px 0 15px;
    font-size: 26px
}

.product-copy>p:not(.eyebrow) {
    min-height: 82px;
    font-size: 16px
}

.accessory-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    display: grid
}

.accessory-product {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 8px;
    flex-direction: column;
    padding-bottom: 25px;
    display: flex;
    overflow: hidden
}

.accessory-product:hover {
    border-color: var(--primary)
}

.accessory-art {
    background: #fff;
    justify-content: center;
    align-items: center;
    height: 215px;
    padding: 20px;
    display: flex
}

.accessory-art img {
    object-fit: contain;
    max-width: 100%;
    height: 100%
}

.accessory-product h3 {
    letter-spacing: -.7px;
    margin: 25px 25px 12px;
    font-size: 23px
}

.accessory-product>p {
    flex: 1;
    margin: 0 25px 20px;
    font-size: 15px
}

.accessory-product .card-link {
    margin: 0 25px
}

.customer-section {
    padding-top: 25px
}

.installation-logos {
    grid-template-columns: repeat(7, 1fr);
    gap: 13px;
    margin-top: 32px;
    display: grid
}

.installation-logos>div,
.leader-logos>div {
    background: #fff;
    border: 1px solid #dde3de;
    border-radius: 5px;
    justify-content: center;
    align-items: center;
    height: 105px;
    padding: 14px;
    display: flex
}

.installation-logos img,
.leader-logos img {
    object-fit: contain;
    width: 100%;
    height: 100%
}

.leaders-title {
    margin-top: 65px;
    font-size: 32px
}

.leader-logos {
    grid-template-columns: repeat(7, 1fr);
    gap: 13px;
    margin-top: 30px;
    display: grid
}

.leader-logos>div {
    height: 90px;
    padding: 15px
}

.testimonial-section {
    background: var(--soft);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 65px 0
}

.testimonials {
    margin-top: 24px
}

.testimonials blockquote {
    flex-direction: column;
    min-height: 245px;
    margin: 0;
    display: flex
}

.testimonials blockquote>span {
    color: var(--primary);
    font-size: 70px;
    line-height: .9
}

.testimonials blockquote p {
    color: var(--foreground);
    letter-spacing: -.3px;
    max-width: 1050px;
    font-size: clamp(20px, 2vw, 28px);
    line-height: 1.6
}

.testimonials cite {
    color: var(--muted);
    margin-top: 25px;
    font-size: 14px;
    font-style: normal;
    display: block
}

.testimonial-controls {
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 32px;
    display: flex
}

.testimonial-dots,
.testimonial-arrows {
    align-items: center;
    gap: 8px;
    display: flex
}

.testimonial-dots button {
    color: var(--muted);
    padding: 8px 13px !important;
    font-size: 14px !important
}

.testimonial-dots .selected {
    color: var(--primary);
    background: var(--background)
}

.testimonial-arrows button {
    color: var(--foreground);
    border-color: var(--border);
    min-width: 36px;
    min-height: 36px;
    margin: 0 !important;
    position: static !important;
    transform: none !important
}

.resources {
    grid-template-columns: 1.5fr 1fr;
    gap: 60px;
    padding-top: 0;
    padding-bottom: 65px;
    display: grid
}

.resources h3 {
    letter-spacing: -.6px;
    margin: 14px 0 24px;
    font-size: 24px
}

.download-links {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    display: grid
}

.download-links a,
.app-links a {
    border: 1px solid var(--border);
    border-radius: 5px;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 15px;
    font-size: 14px;
    display: flex
}

.download-links a:hover,
.app-links a:hover {
    border-color: var(--primary)
}

.app-links a {
    margin-bottom: 12px
}

.footer-extras {
    border-top: 1px solid var(--border);
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    margin-top: 35px;
    padding-top: 30px;
    display: flex
}

.footer-extras h3 {
    letter-spacing: 0;
    margin-bottom: 10px;
    font-size: 14px
}

.footer-extras p,
.social-links a {
    font-size: 14px
}

.social-links {
    color: var(--muted);
    gap: 22px;
    display: flex
}

.contact {
    margin-top: 65px
}

.telemetry {
    padding: 30px 0 0
}

.telemetry-grid {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 7px;
    grid-template-columns: 1.4fr 1fr;
    gap: 30px;
    padding: 24px;
    display: grid
}

.telemetry-meters {
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    gap: 22px;
    display: grid
}

.telemetry-meters>div>svg {
    color: var(--primary);
    margin-bottom: 10px
}

.telemetry-meters>div>span {
    color: var(--muted);
    font-size: 12px;
    display: block
}

.telemetry-meters strong {
    margin-top: 8px;
    font-size: 26px;
    font-weight: 500;
    display: block
}

.telemetry-meters small {
    color: var(--muted);
    font-size: 12px
}

.meter-track {
    background: var(--border);
    border-radius: 4px;
    height: 4px;
    margin-top: 12px;
    overflow: hidden
}

.meter-track i {
    background: var(--primary);
    height: 100%;
    display: block
}

.telemetry-chart p {
    font-size: 12px
}

.telemetry-chart svg {
    width: 100%;
    height: 90px;
    display: block
}

.telemetry-chart>div {
    color: var(--muted);
    justify-content: space-between;
    font-size: 12px;
    display: flex
}

.header .nav {
    gap: 20px
}

@media (width<=1100px) {
    .header .nav {
        gap: 12px
    }

    .header .nav a {
        font-size: 12px
    }

    .full-stats {
        grid-template-columns: repeat(3, 1fr);
        gap: 26px 0
    }

    .full-stats>div:nth-child(4) {
        padding-left: 0
    }

    .full-stats>div:nth-child(3) {
        border: 0
    }

    .feature-grid,
    .integration-grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .installation-logos,
    .leader-logos {
        grid-template-columns: repeat(4, 1fr)
    }

    .accessory-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .telemetry-grid {
        grid-template-columns: 1fr 1fr
    }

    .telemetry-meters {
        gap: 14px
    }

    .resources {
        gap: 30px
    }

    .product-copy>p:not(.eyebrow) {
        min-height: 110px
    }
}

@media (width<=760px) {
    .numbers-heading {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }

    .full-stats {
        grid-template-columns: 1fr 1fr;
        gap: 26px 0
    }

    .full-stats>div {
        padding: 0 20px
    }

    .full-stats>div:nth-child(odd) {
        border-right: 1px solid var(--border);
        padding-left: 0
    }

    .full-stats>div:nth-child(2n) {
        border: 0;
        padding-left: 20px
    }

    .full-stats strong {
        font-size: 32px
    }

    .full-stats p {
        font-size: 13px
    }

    .feature-grid,
    .integration-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px
    }

    .feature-grid>div,
    .integration-grid>article {
        padding: 20px 15px
    }

    .service-section,
    .restored-solutions,
    .resources,
    .telemetry-grid {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .product-art {
        height: 220px
    }

    .product-copy>p:not(.eyebrow) {
        min-height: 0
    }

    .accessory-grid {
        grid-template-columns: 1fr
    }

    .installation-logos,
    .leader-logos {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px
    }

    .installation-logos>div,
    .leader-logos>div {
        height: 80px;
        padding: 10px
    }

    .leaders-title {
        margin-top: 45px;
        font-size: 28px
    }

    .testimonial-section {
        padding: 45px 0
    }

    .testimonials blockquote {
        min-height: 340px
    }

    .testimonial-controls {
        flex-direction: column;
        align-items: flex-start
    }

    .testimonial-arrows {
        align-self: flex-end
    }

    .download-links {
        grid-template-columns: 1fr
    }

    .footer-extras {
        flex-direction: column;
        align-items: flex-start
    }

    .social-links {
        flex-wrap: wrap;
        gap: 18px
    }

    .telemetry-meters {
        grid-template-columns: repeat(4, 1fr)
    }

    .telemetry-heading {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }

    .telemetry-grid {
        padding: 20px
    }

    .header .nav a {
        font-size: 14px
    }

    .header .nav {
        gap: 24px
    }
}

.design-review {
    border-bottom: 1px solid var(--border);
    color: var(--muted);
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 12px 0;
    font-size: 12px;
    display: flex
}

.design-review>span {
    font-family: var(--font-geist-mono), monospace;
    letter-spacing: 1.4px
}

.design-review>div {
    gap: 6px;
    display: flex
}

.design-review a {
    border: 1px solid #0000;
    border-radius: 4px;
    padding: 7px 12px;
    display: block
}

.design-review a[aria-current=page] {
    border-color: var(--border);
    background: var(--soft);
    color: var(--foreground)
}

.design-review a:hover {
    color: var(--primary)
}

:root:has(.site[data-design=blue]) {
    --background: #07111f;
    --foreground: #f1f6fd;
    --card: #0d1c2e;
    --border: #263c55;
    --muted: #a6b8ce;
    --primary: #fd8a32;
    --primary-foreground: #211006;
    --soft: #0b2139;
    --grid: #204265;
    --brand-blue: #00afef;
    --brand-orange: #fd7e14;
    --blue-tint: #143656
}

:root[data-theme=light]:has(.site[data-design=blue]) {
    --background: #f5f9ff;
    --foreground: #102c4d;
    --card: #fff;
    --border: #ceddeb;
    --muted: #506981;
    --primary: #a84400;
    --primary-foreground: #fff;
    --soft: #eaf3ff;
    --grid: #c4d9ee;
    --brand-blue: #007ba8;
    --brand-orange: #fd7e14;
    --blue-tint: #d9edff
}

.site[data-design=blue] .brand {
    color: var(--brand-blue)
}

.site[data-design=blue] .brand span {
    color: var(--brand-orange)
}

.site[data-design=blue] .brand small {
    color: var(--muted)
}

.site[data-design=blue] .hero-copy h1 {
    color: var(--foreground)
}

.site[data-design=blue] .cta {
    background: var(--brand-orange);
    border-color: var(--brand-orange);
    color: #231004
}

.site[data-design=blue] .cta:hover {
    background: #ff923d
}

.site[data-design=blue] .login {
    background: var(--blue-tint);
    border-color: var(--brand-blue);
    color: var(--foreground)
}

.site[data-design=blue] .eyebrow {
    color: var(--brand-blue)
}

.site[data-design=blue] .status-dot {
    background: var(--brand-orange);
    box-shadow: 0 0 12px #fd7e1466
}

.site[data-design=blue] .energy-visual {
    background: radial-gradient(ellipse at 50% 40%, var(--blue-tint), transparent 74%), var(--background);
    box-shadow: 0 30px 90px #003c871f
}

.site[data-design=blue] .connections path {
    stroke: var(--brand-blue)
}

.site[data-design=blue] .connections .moving {
    stroke: var(--brand-orange)
}

.site[data-design=blue] .system-node svg {
    color: var(--brand-blue)
}

.site[data-design=blue] .solar svg,
.site[data-design=blue] .generator svg {
    color: var(--primary)
}

.site[data-design=blue] .core {
    border-color: var(--brand-blue);
    background: var(--card);
    box-shadow: 0 0 45px #00afef29, inset 0 0 22px #00afef0d
}

.site[data-design=blue] .core>span {
    color: var(--brand-blue)
}

.site[data-design=blue] .core small {
    color: var(--primary)
}

.site[data-design=blue] .feature-grid svg,
.site[data-design=blue] .service-list svg {
    color: var(--brand-blue)
}

.site[data-design=blue] .platform-section {
    background: linear-gradient(120deg, var(--soft), var(--background));
    border-top-color: var(--brand-blue)
}

.site[data-design=blue] .contact {
    background: linear-gradient(115deg, var(--soft), var(--card));
    border-top: 2px solid var(--brand-orange)
}

.site[data-design=blue] .telemetry-meters>div:nth-child(2n) svg {
    color: var(--brand-blue)
}

.site[data-design=blue] .telemetry-meters>div:nth-child(2n) .meter-track i {
    background: var(--brand-blue)
}

.site[data-design=blue] .full-stats>div:nth-child(2n) strong,
.site[data-design=blue] .testimonial-dots .selected {
    color: var(--brand-blue)
}

.site[data-design=blue] .design-review a[aria-current=page] {
    border-color: var(--brand-blue);
    color: var(--brand-blue)
}

@media (width<=760px) {
    .design-review {
        padding: 9px 0;
        font-size: 12px
    }

    .design-review>span {
        display: none
    }

    .design-review>div {
        justify-content: space-between;
        width: 100%
    }

    .nav {
        top: 135px
    }
}

.site[data-design=blue] .hero {
    grid-template-columns: .88fr 1.12fr;
    gap: 36px
}

.dashboard-showcase {
    min-width: 0;
    color: var(--foreground);
    padding: 18px 0;
    position: relative
}

.showcase-heading {
    font: 10px var(--font-geist-mono), monospace;
    letter-spacing: 1.2px;
    color: var(--muted);
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    display: flex
}

.showcase-heading>span:first-child {
    color: var(--brand-blue)
}

.showcase-heading i {
    background: var(--brand-orange);
    border-radius: 50%;
    width: 5px;
    height: 5px;
    margin-right: 8px;
    display: inline-block;
    box-shadow: 0 0 15px #fd7e14
}

.card-orbit {
    perspective: 1200px;
    isolation: isolate;
    height: 440px;
    transform-style: preserve-3d;
    margin-top: 10px;
    position: relative
}

.orbit-grid {
    pointer-events: none;
    background-image: linear-gradient(#00afef0d 1px, #0000 1px), linear-gradient(90deg, #00afef0d 1px, #0000 1px);
    background-size: 35px 35px;
    position: absolute;
    inset: 0 -5%;
    -webkit-mask-image: radial-gradient(#000, #0000 72%);
    mask-image: radial-gradient(#000, #0000 72%)
}

.orbit-card {
    transform-origin: 50%;
    backface-visibility: hidden;
    will-change: transform;
    pointer-events: none;
    background: #101b29;
    border: 1px solid #00afef65;
    border-radius: 12px;
    flex-direction: column;
    width: 94%;
    height: 316px;
    transition: transform .85s cubic-bezier(.22, .8, .2, 1), opacity .8s, filter .8s;
    display: flex;
    position: absolute;
    top: 72px;
    left: 3%;
    overflow: hidden;
    box-shadow: 0 22px 55px #0007, 0 0 20px #00afef10
}

.orbit-card.slot-0 {
    z-index: 4;
    opacity: 1;
    filter: brightness();
    border-color: #00afefaa;
    transform: translateZ(70px)rotateY(-7deg)rotateX(3deg);
    box-shadow: 0 25px 65px #0008, -2px 0 18px #00afef33, 2px 2px #fd7e1499
}

.orbit-card.slot-1 {
    z-index: 3;
    opacity: .75;
    filter: brightness(.6);
    transform: translate3d(19px, -28px, -25px)rotateY(-7deg)rotateX(3deg)scale(.97)
}

.orbit-card.slot-2 {
    z-index: 2;
    opacity: .5;
    filter: brightness(.45);
    transform: translate3d(34px, -52px, -115px)rotateY(-7deg)rotateX(3deg)scale(.94)
}

.orbit-card.slot-3 {
    z-index: 1;
    opacity: .25;
    filter: brightness(.4);
    transform: translate3d(45px, -72px, -200px)rotateY(-7deg)rotateX(3deg)scale(.91)
}

.orbit-card.orbit-return {
    animation: .95s cubic-bezier(.4, 0, .2, 1) both card-to-back
}

.orbit-card-bar {
    color: #b6c9df;
    letter-spacing: 1px;
    background: #0b1726;
    border-bottom: 1px solid #294056;
    justify-content: space-between;
    align-items: center;
    height: 30px;
    min-height: 30px;
    padding: 0 13px;
    font-size: 10px;
    display: flex
}

.orbit-card-bar>span:first-child {
    align-items: center;
    gap: 7px;
    display: flex
}

.window-marks {
    color: #00afef;
    letter-spacing: 5px
}

.orbit-card-images {
    background: #171d25;
    flex: 1;
    justify-content: center;
    align-items: center;
    min-height: 0;
    display: flex;
    overflow: hidden
}

.desktop-panel img {
    object-fit: contain;
    width: 100%;
    height: 100%
}

.mobile-pair {
    background: radial-gradient(at 50% 100%, #074275, #0b1324 75%);
    gap: 25px;
    padding: 9px 30px
}

.mobile-pair img {
    object-fit: contain;
    border-radius: 8px;
    width: auto;
    max-width: 45%;
    height: 100%;
    box-shadow: 0 8px 24px #0006
}

.orbit-card-caption {
    color: #c2d6ec;
    background: #0b1726;
    border-top: 1px solid #294056;
    justify-content: space-between;
    align-items: center;
    height: 30px;
    min-height: 30px;
    padding: 0 13px;
    font-size: 11px;
    display: flex
}

.orbit-card-caption>span:last-child {
    color: #fd8a32;
    font-family: var(--font-geist-mono), monospace
}

.orbit-coordinate {
    letter-spacing: 2px;
    color: var(--muted);
    font-size: 9px;
    position: absolute;
    bottom: 0;
    right: 0
}

.showcase-controls {
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    display: flex
}

.showcase-pagination {
    gap: 3px;
    display: flex
}

.showcase-pagination button {
    cursor: pointer;
    background: 0 0;
    border: 0;
    place-items: center;
    width: 29px;
    height: 32px;
    display: grid
}

.showcase-pagination button span {
    background: var(--border);
    width: 17px;
    height: 3px;
    transition: background .3s, width .3s
}

.showcase-pagination button.active span {
    background: var(--brand-orange);
    width: 26px;
    box-shadow: 0 0 10px #fd7e1455
}

.showcase-buttons {
    align-items: center;
    gap: 5px;
    display: flex
}

.showcase-buttons>span {
    font: 11px var(--font-geist-mono), monospace;
    color: var(--muted);
    margin-right: 8px
}

.showcase-buttons button {
    color: var(--muted);
    border: 1px solid var(--border);
    border-radius: 5px
}

.showcase-buttons button:hover {
    color: var(--brand-blue)
}

.orbit-timer {
    background: var(--border);
    height: 1px;
    margin-top: 14px;
    overflow: hidden
}

.orbit-timer span {
    background: linear-gradient(90deg, var(--brand-blue), var(--brand-orange));
    transform-origin: 0;
    width: 100%;
    height: 100%;
    animation: 3s linear both orbit-progress;
    display: block
}

@keyframes orbit-progress {
    0% {
        transform: scaleX(0)
    }

    to {
        transform: scaleX(1)
    }
}

@keyframes card-to-back {
    0% {
        opacity: 1;
        z-index: 5;
        filter: brightness();
        transform: translateZ(70px)rotateY(-7deg)rotateX(3deg)
    }

    42% {
        opacity: .9;
        z-index: 5;
        transform: translate3d(-90px, -22px, 160px)rotateY(-30deg)rotate(-7deg)scale(.96)
    }

    65% {
        opacity: .45;
        z-index: 1;
        transform: translate3d(-95px, -95px, -80px)rotateY(-22deg)rotate(-5deg)scale(.9)
    }

    to {
        opacity: .25;
        z-index: 1;
        filter: brightness(.4);
        transform: translate3d(45px, -72px, -200px)rotateY(-7deg)rotateX(3deg)scale(.91)
    }
}

:root[data-theme=light] .orbit-card.slot-0 {
    box-shadow: 0 25px 50px #14345633, -2px 0 18px #00afef33, 2px 2px #fd7e14
}

@media (width>=1450px) {
    .orbit-card {
        height: 350px
    }

    .card-orbit {
        height: 480px
    }
}

@media (width<=1050px) and (width>=761px) {
    .site[data-design=blue] .hero {
        grid-template-columns: 1fr 1.1fr;
        gap: 20px
    }

    .orbit-card {
        height: 265px
    }

    .card-orbit {
        height: 390px
    }

    .showcase-heading {
        font-size: 8px
    }

    .showcase-heading>span:last-child {
        display: none
    }

    .mobile-pair {
        gap: 14px;
        padding: 9px 18px
    }
}

@media (width<=760px) {
    .site[data-design=blue] .hero {
        grid-template-columns: 1fr
    }

    .dashboard-showcase {
        width: 100%;
        max-width: 580px;
        margin: 0 auto;
        padding: 15px 7px;
        overflow: clip
    }

    .card-orbit {
        height: 380px
    }

    .orbit-card {
        width: 90%;
        height: 275px;
        top: 70px;
        left: 2%
    }

    .orbit-coordinate {
        font-size: 8px
    }

    .showcase-heading {
        font-size: 9px
    }

    .showcase-buttons>span {
        font-size: 10px
    }

    .mobile-pair {
        gap: 20px;
        padding: 8px 20px
    }
}

@media (width<=390px) {
    .orbit-card {
        height: 240px
    }

    .card-orbit {
        height: 345px
    }
}

@media (prefers-reduced-motion:reduce) {
    .orbit-card {
        transition: none !important;
        animation: none !important
    }

    .orbit-timer {
        display: none
    }
}

.dashboard-showcase .card-orbit {
    height: 485px
}

.dashboard-showcase .orbit-card.thumbnail-card {
    width: 92%;
    height: 316px;
    transform: translate3d(var(--mini-x), -115px, -100px) rotateZ(var(--mini-tilt)) scale(.28);
    opacity: .82;
    filter: brightness(.85);
    z-index: 1;
    transform-origin: 50% 0;
    border-color: #00afef99;
    transition: none;
    top: 120px;
    left: 4%;
    box-shadow: 0 12px 28px #0005, 0 0 12px #00afef33
}

.dashboard-showcase .thumbnail-card.zoom-selected {
    z-index: 5;
    animation: 3s cubic-bezier(.25, .75, .25, 1) both stack-zoom-cycle
}

.dashboard-showcase .orbit-coordinate {
    bottom: 0
}

.dashboard-showcase .thumbnail-card.reduce-motion.zoom-selected {
    opacity: 1;
    filter: none;
    transform: translateZ(40px)rotateY(-3deg)scale(1);
    animation: none !important
}

@keyframes stack-zoom-cycle {

    0%,
    7% {
        transform: translate3d(var(--mini-x), -115px, -100px) scale(.2);
        clip-path: circle(130px);
        opacity: .95;
        filter: brightness(.95)
    }

    27%,
    73% {
        clip-path: circle(100%);
        opacity: 1;
        filter: brightness();
        transform: translateZ(40px)rotateY(-3deg)scale(1);
        box-shadow: 0 25px 55px #0007, 0 0 22px #00afef40, 2px 2px #fd7e1499
    }

    94%,
    to {
        transform: translate3d(var(--mini-x), -115px, -100px) scale(.2);
        clip-path: circle(130px);
        opacity: .95;
        filter: brightness(.95)
    }
}

@media (width>=1450px) {
    .dashboard-showcase .card-orbit {
        height: 525px
    }

    .dashboard-showcase .orbit-card.thumbnail-card {
        height: 350px;
        top: 130px
    }
}

@media (width<=1050px) and (width>=761px) {
    .dashboard-showcase .card-orbit {
        height: 425px
    }

    .dashboard-showcase .orbit-card.thumbnail-card {
        height: 265px;
        top: 120px
    }
}

@media (width<=760px) {
    .dashboard-showcase .card-orbit {
        height: 430px
    }

    .dashboard-showcase .orbit-card.thumbnail-card {
        width: 92%;
        height: 275px;
        top: 120px;
        left: 4%
    }
}

@media (width<=390px) {
    .dashboard-showcase .card-orbit {
        height: 395px
    }

    .dashboard-showcase .orbit-card.thumbnail-card {
        height: 240px
    }
}

:root:not([data-theme=light]):has(.site[data-design=blue]) {
    --background: #000;
    --card: #101010;
    --soft: #080808;
    --border: #292929;
    --grid: #252525;
    --blue-tint: #151515
}

:root:not([data-theme=light]) .site[data-design=blue] .energy-visual {
    background: #000
}

.site[data-design=blue] .hero>.coverage {
    border-top: 1px solid var(--border);
    text-align: center;
    grid-column: 1/-1;
    justify-content: center;
    align-items: center;
    gap: 10px 14px;
    width: 100%;
    max-width: none;
    margin: 4px auto 0;
    padding: 22px 0 0
}

.site[data-design=blue] .hero>.coverage span {
    padding: 8px 12px;
    font-size: 13px
}

.site[data-design=blue] .hero {
    row-gap: 18px
}

.dashboard-showcase .orbit-card.thumbnail-card {
    clip-path: circle(130px);
    transform: translate3d(var(--mini-x), -115px, -100px) scale(.2);
    opacity: .95;
    filter: brightness(.95)
}

.dashboard-showcase .thumbnail-card.reduce-motion.zoom-selected {
    clip-path: circle(100%)
}

@media (width<=760px) {
    .site[data-design=blue] .hero>.coverage {
        gap: 8px;
        padding-top: 18px
    }

    .site[data-design=blue] .hero>.coverage span {
        padding: 7px 9px;
        font-size: 12px
    }
}

.site[data-design=blue] .hero {
    border-bottom: 1px solid var(--border);
    align-content: center;
    min-height: calc(100svh - 1px);
    padding-top: 24px;
    padding-bottom: 24px
}

.site[data-design=blue] .hero>.coverage {
    border-top: 0;
    margin-top: 0;
    padding: 18px 0 0
}

.overview-panels {
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    gap: 30px;
    padding-top: 32px;
    padding-bottom: 10px;
    display: grid
}

.overview-panels>.numbers-section,
.overview-panels>.telemetry {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 8px;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 0;
    padding: 24px
}

.overview-panels .numbers-heading,
.overview-panels .telemetry-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 24px
}

.overview-panels .full-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 0
}

.overview-panels .full-stats>div {
    border-right: 1px solid var(--border);
    padding: 0 16px
}

.overview-panels .full-stats>div:nth-child(3n) {
    border-right: 0
}

.overview-panels .full-stats>div:nth-child(3n+1) {
    padding-left: 0
}

.overview-panels .full-stats strong {
    font-size: 32px
}

.overview-panels .full-stats p {
    font-size: 13px;
    line-height: 1.5
}

.overview-panels .telemetry-grid {
    background: 0 0;
    border: 0;
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 0
}

.overview-panels .telemetry-meters {
    gap: 18px
}

.overview-panels .telemetry-chart svg {
    height: 95px
}

@media (width<=1000px) {
    .overview-panels {
        gap: 18px
    }

    .overview-panels>.numbers-section,
    .overview-panels>.telemetry {
        padding: 20px
    }

    .overview-panels .full-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px 0
    }

    .overview-panels .full-stats>div {
        border: 0;
        padding: 0 12px
    }

    .overview-panels .full-stats>div:nth-child(odd) {
        border-right: 1px solid var(--border);
        padding-left: 0
    }

    .overview-panels .full-stats>div:nth-child(2n) {
        border: 0;
        padding-left: 12px
    }

    .overview-panels .telemetry-meters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px
    }
}

@media (width<=640px) {
    .overview-panels {
        grid-template-columns: 1fr
    }

    .site[data-design=blue] .hero {
        min-height: 0;
        padding-top: 24px
    }

    .overview-panels .full-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .overview-panels .full-stats>div:nth-child(n) {
        border-right: 1px solid var(--border);
        padding: 0 10px
    }

    .overview-panels .full-stats>div:nth-child(3n) {
        border: 0
    }

    .overview-panels .full-stats>div:nth-child(3n+1) {
        padding-left: 0
    }

    .overview-panels .full-stats strong {
        font-size: 26px
    }

    .overview-panels .full-stats p {
        font-size: 12px
    }

    .overview-panels .telemetry-meters {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 10px
    }
}

.overview-panels>.hardware-section {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 8px;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 0;
    padding: 24px
}

.overview-panels .hardware-section .section-heading {
    margin-bottom: 20px;
    display: block
}

.overview-panels .hardware-section .section-heading .eyebrow {
    display: none
}

.overview-panels .hardware-section .section-heading h2 {
    font: 12px var(--font-geist-mono), monospace;
    letter-spacing: 1.8px;
    color: var(--brand-blue);
    text-transform: uppercase;
    margin: 0
}

.overview-panels .hardware-section .section-heading>p {
    display: none
}

.overview-panels .hardware-section .feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px
}

.overview-panels .hardware-section .feature-grid>div {
    text-align: center;
    background: var(--background);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 120px;
    padding: 20px 12px;
    display: flex
}

.overview-panels .hardware-section .feature-grid svg {
    width: 28px;
    height: 28px
}

.overview-panels .hardware-section .feature-grid h3 {
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.4
}

@media (width<=1000px) {
    .overview-panels>.hardware-section {
        padding: 20px
    }

    .overview-panels .hardware-section .feature-grid {
        gap: 10px
    }

    .overview-panels .hardware-section .feature-grid>div {
        padding: 16px 8px
    }
}

@media (width<=380px) {
    .overview-panels .hardware-section .feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

.solution-offerings {
    padding-top: 55px;
    padding-bottom: 55px
}

.solution-pair {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    display: grid
}

.solution-offering {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 10px;
    flex-direction: column;
    display: flex;
    overflow: hidden
}

.solution-offering>img {
    aspect-ratio: 600/330;
    border-bottom: 1px solid var(--border);
    width: 100%;
    height: auto;
    display: block
}

.offering-copy {
    flex-direction: column;
    flex: 1;
    padding: 28px;
    display: flex
}

.offering-copy h3 {
    letter-spacing: -1px;
    margin: 12px 0 16px;
    font-size: 29px
}

.offering-copy>p:not(.eyebrow) {
    flex: 1;
    font-size: 16px
}

.offering-copy .card-link {
    margin-top: 25px
}

.shared-capabilities {
    border: 1px solid var(--border);
    background: var(--soft);
    border-radius: 8px;
    margin-top: 24px;
    padding: 25px 28px
}

.shared-capabilities>div {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 22px;
    display: grid
}

.shared-capabilities>div>div {
    align-items: center;
    gap: 13px;
    display: flex
}

.shared-capabilities svg {
    color: var(--primary);
    flex-shrink: 0
}

.shared-capabilities h3 {
    letter-spacing: 0;
    font-size: 15px;
    line-height: 1.5
}

@media (width<=850px) {
    .shared-capabilities>div {
        grid-template-columns: 1fr 1fr
    }

    .offering-copy {
        padding: 22px
    }
}

@media (width<=640px) {
    .solution-pair {
        grid-template-columns: 1fr
    }

    .shared-capabilities {
        padding: 22px
    }

    .shared-capabilities>div {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .offering-copy h3 {
        font-size: 25px
    }
}

.support-journey {
    padding-top: 65px;
    padding-bottom: 65px
}

.support-intro {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 42px
}

.support-intro h2 {
    font-size: clamp(32px, 3.6vw, 54px);
    line-height: 1.13
}

.support-intro>p:last-child {
    margin-top: 18px;
    font-size: 15px
}

.support-steps {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
    display: grid;
    position: relative
}

.support-steps article {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 16px;
    padding: 24px 20px;
    transition: transform .2s, border-color .2s;
    position: relative
}

.support-steps article:hover {
    border-color: var(--brand-blue);
    transform: translateY(-5px)
}

.support-step-top {
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 28px;
    display: flex
}

.support-step-top>span {
    font: 12px var(--font-geist-mono), monospace;
    color: var(--muted);
    padding-top: 5px
}

.support-step-icon {
    width: 58px;
    height: 58px;
    color: var(--brand-blue);
    background: var(--brand-blue);
    place-items: center;
    display: grid
}

@supports (color:color-mix(in lab, red, red)) {
    .support-step-icon {
        background: color-mix(in srgb, var(--brand-blue) 9%, transparent)
    }
}

.support-step-icon {
    border-radius: 14px
}

.support-steps article:last-child {
    border-color: var(--brand-orange)
}

@supports (color:color-mix(in lab, red, red)) {
    .support-steps article:last-child {
        border-color: color-mix(in srgb, var(--brand-orange) 45%, var(--border))
    }
}

.support-steps article:last-child .support-step-icon {
    color: var(--brand-orange);
    background: var(--brand-orange)
}

@supports (color:color-mix(in lab, red, red)) {
    .support-steps article:last-child .support-step-icon {
        background: color-mix(in srgb, var(--brand-orange) 10%, transparent)
    }
}

.support-steps h3 {
    letter-spacing: -.4px;
    margin: 0 0 12px;
    font-size: 19px;
    line-height: 1.3
}

.support-steps article>p {
    margin: 0;
    font-size: 13px;
    line-height: 1.7
}

@media (width<=1100px) {
    .support-steps {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

@media (width<=700px) {
    .support-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .support-steps article:last-child {
        grid-column: 1/-1
    }

    .support-intro {
        margin-bottom: 28px
    }

    .support-journey {
        padding-top: 40px;
        padding-bottom: 40px
    }
}

@media (width<=420px) {
    .support-steps {
        grid-template-columns: 1fr
    }

    .support-step-top {
        margin-bottom: 18px
    }
}

@media (prefers-reduced-motion:reduce) {
    .support-steps article {
        transition: none
    }

    .support-steps article:hover {
        transform: none
    }
}

.customer-showcase {
    padding-top: 65px;
    padding-bottom: 65px
}

.customer-heading {
    justify-content: space-between;
    align-items: flex-end;
    gap: 40px;
    margin-bottom: 38px;
    display: flex
}

.customer-heading h2 {
    font-size: clamp(34px, 4vw, 58px);
    line-height: 1.1
}

.customer-heading>p {
    max-width: 300px;
    margin-bottom: 5px;
    font-size: 15px;
    line-height: 1.7
}

.customer-group-label {
    border-top: 1px solid var(--border);
    letter-spacing: 1.4px;
    color: var(--muted);
    justify-content: space-between;
    padding: 20px 0;
    font: 10px monospace;
    display: flex
}

.customer-group-label>span:first-child {
    color: var(--brand-orange)
}

.customer-showcase .installation-logos {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    display: grid
}

.customer-showcase .installation-logos>div {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 14px;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
    height: auto;
    min-height: 155px;
    padding: 16px 12px 12px;
    transition: transform .25s, border-color .25s;
    display: flex;
    position: relative;
    overflow: hidden
}

.customer-showcase .installation-logos>div:before {
    content: "";
    background: var(--brand-orange);
    height: 2px;
    position: absolute;
    top: 0;
    left: 22%;
    right: 22%
}

.customer-showcase .installation-logos img {
    box-sizing: border-box;
    object-fit: contain;
    background: #fff;
    border-radius: 9px;
    width: 100%;
    height: 88px;
    max-height: none;
    padding: 14px
}

.customer-showcase .installation-logos span {
    text-align: center;
    color: var(--muted);
    font-size: 11px
}

.customer-showcase .installation-logos>div:hover {
    border-color: var(--brand-orange);
    transform: translateY(-5px)
}

.customer-partner-heading {
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    margin: 45px 0 22px;
    display: flex
}

.customer-partner-heading h3 {
    letter-spacing: -.7px;
    margin-top: 8px;
    font-size: 28px
}

.customer-partner-heading>p {
    font-size: 13px
}

.customer-showcase .leader-logos {
    background: var(--border);
    border: 1px solid var(--border);
    border-radius: 16px;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    display: grid;
    overflow: hidden
}

.customer-showcase .leader-logos>div {
    background: var(--card);
    border: 0;
    border-radius: 0;
    justify-content: center;
    align-items: center;
    height: 104px;
    padding: 15px;
    transition: background .25s;
    display: flex
}

.customer-showcase .leader-logos img {
    object-fit: contain;
    box-sizing: border-box;
    background: #fff;
    border-radius: 6px;
    width: 100%;
    height: 68px;
    max-height: none;
    padding: 10px;
    transition: transform .25s
}

.customer-showcase .leader-logos>div:hover {
    background: var(--soft)
}

.customer-showcase .leader-logos>div:hover img {
    transform: scale(1.05)
}

@media (width<=1050px) {
    .customer-showcase .installation-logos {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }

    .customer-showcase .leader-logos {
        grid-template-columns: repeat(5, minmax(0, 1fr))
    }
}

@media (width<=700px) {

    .customer-heading,
    .customer-partner-heading {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px
    }

    .customer-heading>p {
        max-width: 100%
    }

    .customer-showcase .installation-logos {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .customer-showcase .leader-logos {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .customer-showcase .leader-logos>div {
        height: 85px;
        padding: 9px
    }

    .customer-showcase .leader-logos img {
        height: 62px;
        padding: 7px
    }

    .customer-group-label {
        gap: 15px;
        font-size: 8px
    }
}

@media (prefers-reduced-motion:reduce) {

    .customer-showcase .installation-logos>div,
    .customer-showcase .leader-logos img {
        transition: none
    }

    .customer-showcase .installation-logos>div:hover,
    .customer-showcase .leader-logos>div:hover img {
        transform: none
    }
}

.resource-hub {
    border-top: 1px solid var(--border);
    padding-top: 55px;
    padding-bottom: 65px
}

.resource-hub-heading {
    margin-bottom: 28px
}

.resource-hub-heading h2 {
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.15
}

.resource-hub-layout {
    grid-template-columns: 1.5fr 1fr;
    gap: 24px;
    display: grid
}

.resource-docs {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    display: grid
}

.resource-document {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 14px;
    flex-direction: column;
    align-items: flex-start;
    padding: 25px;
    transition: border-color .2s, transform .2s;
    display: flex
}

.resource-document:hover {
    border-color: var(--brand-blue);
    transform: translateY(-3px)
}

.resource-symbol {
    background: var(--brand-blue);
    border-radius: 12px;
    place-items: center;
    width: 46px;
    height: 46px;
    display: grid
}

@supports (color:color-mix(in lab, red, red)) {
    .resource-symbol {
        background: color-mix(in srgb, var(--brand-blue) 10%, transparent)
    }
}

.resource-symbol {
    color: var(--brand-blue);
    margin-bottom: 17px
}

.resource-document h3 {
    margin: 0 0 8px;
    font-size: 19px
}

.resource-document>p {
    margin: 0 0 20px;
    font-size: 13px;
    line-height: 1.6
}

.resource-action {
    border-top: 1px solid var(--border);
    width: 100%;
    color: var(--muted);
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    padding-top: 14px;
    font-size: 12px;
    display: flex
}

.resource-action svg {
    color: var(--brand-orange)
}

.resource-mobile {
    border: 1px solid var(--brand-orange);
    padding: 30px
}

@supports (color:color-mix(in lab, red, red)) {
    .resource-mobile {
        border: 1px solid color-mix(in srgb, var(--brand-orange) 40%, var(--border))
    }
}

.resource-mobile {
    background: var(--card);
    border-radius: 16px;
    position: relative
}

.resource-mobile-icon {
    color: var(--brand-orange);
    position: absolute;
    top: 28px;
    right: 28px;
    transform: rotate(8deg)
}

.resource-mobile .eyebrow {
    margin: 10px 60px 18px 0;
    font-size: 10px
}

.resource-mobile h3 {
    letter-spacing: -1px;
    margin-bottom: 16px;
    font-size: 34px;
    line-height: 1.15
}

.resource-mobile>p:not(.eyebrow) {
    max-width: 280px;
    font-size: 14px;
    line-height: 1.7
}

.resource-store-links {
    gap: 12px;
    margin-top: 28px;
    display: grid
}

.resource-store-links a {
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 10px;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    display: flex
}

.resource-store-links a:hover {
    border-color: var(--brand-orange)
}

.resource-store-links a>svg:first-child {
    color: var(--brand-orange)
}

.resource-store-links a>svg:last-child {
    color: var(--muted);
    margin-left: auto
}

.resource-store-links span {
    font-size: 16px;
    font-weight: 500
}

.resource-store-links small {
    letter-spacing: 1px;
    color: var(--muted);
    margin-bottom: 4px;
    font: 8px monospace;
    display: block
}

@media (width<=850px) {
    .resource-hub-layout {
        grid-template-columns: 1fr
    }
}

@media (width<=480px) {
    .resource-docs {
        grid-template-columns: 1fr
    }

    .resource-mobile {
        padding: 24px
    }
}

@media (prefers-reduced-motion:reduce) {
    .resource-document {
        transition: none
    }

    .resource-document:hover {
        transform: none
    }
}

.official-brand {
    vertical-align: middle;
    align-items: center;
    width: 145px;
    line-height: 1;
    display: inline-flex
}

.official-brand img {
    object-fit: contain;
    width: 100%;
    height: auto;
    display: block
}

.official-brand .brand-on-light,
html[data-theme=light] .official-brand .brand-on-dark {
    display: none
}

html[data-theme=light] .official-brand .brand-on-light {
    display: block
}

.showcase-device .official-brand {
    width: 85%;
    max-width: 210px;
    margin: 12px 0
}

.brand .official-brand {
    letter-spacing: normal
}

@media (width<=640px) {
    .header .official-brand {
        width: 120px
    }
}

.rolling-number {
    font-variant-numeric: tabular-nums;
    line-height: 1.15;
    display: inline-block
}

.rolling-number>span {
    align-items: baseline;
    display: inline-flex
}

.rolling-digit {
    vertical-align: bottom;
    height: 1.15em;
    display: inline-block;
    overflow: hidden
}

.rolling-reel {
    flex-direction: column;
    transition: transform 1.6s cubic-bezier(.2, .75, .25, 1);
    display: flex
}

.rolling-reel>span {
    height: 1.15em;
    line-height: 1.15em;
    display: block
}

@media (prefers-reduced-motion:reduce) {
    .rolling-reel {
        transition: none;
        transition-delay: 0s !important
    }
}

.header .nav {
    border: 1px solid var(--border);
    background: var(--card);
    border-radius: 100px;
    gap: 4px;
    padding: 5px
}

.header .nav>a {
    border-radius: 100px;
    padding: 10px 16px;
    font-size: 13px;
    transition: background .2s, color .2s
}

.header .nav>a:hover,
.header .nav>a:focus-visible {
    background: var(--brand-orange);
    color: #111
}

.site[data-design=blue] .hero h1 {
    letter-spacing: -2.5px;
    font-size: clamp(42px, 4.6vw, 78px);
    line-height: 1.08
}

.hardware-groups {
    gap: 12px;
    margin-top: 22px;
    display: grid
}

.hardware-groups article {
    border: 1px solid var(--border);
    background: var(--background);
    border-radius: 10px;
    padding: 14px 16px
}

.hardware-groups h3 {
    color: var(--foreground);
    margin: 0 0 13px;
    font-size: 13px
}

.hardware-groups article>div {
    flex-wrap: wrap;
    gap: 16px;
    display: flex
}

.hardware-groups span {
    color: var(--muted);
    align-items: center;
    gap: 6px;
    font-size: 11px;
    display: flex
}

.hardware-groups svg {
    width: 18px;
    height: 18px;
    color: var(--brand-blue)
}

.hardware-groups article:nth-child(2) svg {
    color: var(--brand-orange)
}

.hardware-extras {
    flex-wrap: wrap;
    gap: 12px 18px;
    margin-top: 18px;
    display: flex
}

.hardware-extras span {
    color: var(--muted);
    align-items: center;
    gap: 6px;
    font-size: 10px;
    display: flex
}

.hardware-extras svg {
    color: var(--brand-orange)
}

.count-up {
    font-variant-numeric: tabular-nums
}

@media (width<=800px) {
    .header .nav.open {
        border-radius: 18px;
        padding: 12px
    }

    .header .nav>a {
        padding: 12px 16px
    }

    .site[data-design=blue] .hero h1 {
        font-size: clamp(38px, 7vw, 60px)
    }
}

.hardware-groups.hardware-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px
}

.hardware-four article {
    padding: 18px
}

.hardware-four article>div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 8px;
    display: grid
}

.hardware-four h3 {
    margin-bottom: 18px;
    font-size: 14px
}

.hardware-four span {
    font-size: 11px;
    line-height: 1.4
}

.hardware-four article:nth-child(3) svg {
    color: var(--brand-orange)
}

@media (width<=420px) {
    .hardware-groups.hardware-four {
        grid-template-columns: 1fr
    }
}

.site[data-design=blue] .hero h1 {
    color: var(--foreground)
}

.hero h1 .watt-accent {
    color: var(--brand-orange)
}

.solution-theme-art {
    border-bottom: 1px solid var(--border)
}

.solution-theme-art img {
    width: 100%;
    height: auto;
    display: block
}

.solution-theme-art .solution-art-light,
html[data-theme=light] .solution-theme-art .solution-art-dark {
    display: none
}

html[data-theme=light] .solution-theme-art .solution-art-light {
    display: block
}

html[data-theme=light] .power-control,
html[data-theme=light] .power-network,
html[data-theme=light] .accessory-showcase,
html[data-theme=light] .dashboard-mini,
html[data-theme=light] .accessory-icon-art {
    background: #fff
}

@property --tw-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-translate-z {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-scale-x {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-scale-y {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-scale-z {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-rotate-x {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-y {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-z {
    syntax: "*";
    inherits: false
}

@property --tw-skew-x {
    syntax: "*";
    inherits: false
}

@property --tw-skew-y {
    syntax: "*";
    inherits: false
}

@property --tw-pan-x {
    syntax: "*";
    inherits: false
}

@property --tw-pan-y {
    syntax: "*";
    inherits: false
}

@property --tw-pinch-zoom {
    syntax: "*";
    inherits: false
}

@property --tw-scroll-snap-strictness {
    syntax: "*";
    inherits: false;
    initial-value: proximity
}

@property --tw-space-y-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-space-x-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-divide-x-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-divide-y-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-leading {
    syntax: "*";
    inherits: false
}

@property --tw-font-weight {
    syntax: "*";
    inherits: false
}

@property --tw-tracking {
    syntax: "*";
    inherits: false
}

@property --tw-ordinal {
    syntax: "*";
    inherits: false
}

@property --tw-slashed-zero {
    syntax: "*";
    inherits: false
}

@property --tw-numeric-figure {
    syntax: "*";
    inherits: false
}

@property --tw-numeric-spacing {
    syntax: "*";
    inherits: false
}

@property --tw-numeric-fraction {
    syntax: "*";
    inherits: false
}

@property --tw-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-inset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-ring-inset {
    syntax: "*";
    inherits: false
}

@property --tw-ring-offset-width {
    syntax: "<length>";
    inherits: false;
    initial-value: 0
}

@property --tw-ring-offset-color {
    syntax: "*";
    inherits: false;
    initial-value: #fff
}

@property --tw-ring-offset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-outline-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-blur {
    syntax: "*";
    inherits: false
}

@property --tw-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-invert {
    syntax: "*";
    inherits: false
}

@property --tw-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-sepia {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-drop-shadow-size {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-blur {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-invert {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-sepia {
    syntax: "*";
    inherits: false
}

@property --tw-duration {
    syntax: "*";
    inherits: false
}

@property --tw-ease {
    syntax: "*";
    inherits: false
}

@property --tw-content {
    syntax: "*";
    inherits: false;
    initial-value: ""
}

@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}

@keyframes pulse {
    50% {
        opacity: .5
    }
}

@keyframes enter {
    0% {
        opacity: var(--tw-enter-opacity, 1);
        transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0)scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1))rotate(var(--tw-enter-rotate, 0));
        filter: blur(var(--tw-enter-blur, 0))
    }
}

@keyframes exit {
    to {
        opacity: var(--tw-exit-opacity, 1);
        transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0)scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1))rotate(var(--tw-exit-rotate, 0));
        filter: blur(var(--tw-exit-blur, 0))
    }
}

@keyframes accordion-down {
    0% {
        height: 0
    }

    to {
        height: var(--radix-accordion-content-height, var(--accordion-panel-height, auto))
    }
}

@keyframes accordion-up {
    0% {
        height: var(--radix-accordion-content-height, var(--accordion-panel-height, auto))
    }

    to {
        height: 0
    }
}

@keyframes caret-blink {

    0%,
    70%,
    to {
        opacity: 1
    }

    20%,
    50% {
        opacity: 0
    }
}

@keyframes scroll-fade-reveal-b {
    0% {
        --scroll-fade-b: var(--_scroll-fade-size-b, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))))
    }

    to {
        --scroll-fade-b: 0px
    }
}

@keyframes scroll-fade-reveal-s {
    0% {
        --scroll-fade-s: 0px
    }

    to {
        --scroll-fade-s: var(--_scroll-fade-size-s, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))))
    }
}

@keyframes scroll-fade-reveal-e {
    0% {
        --scroll-fade-e: var(--_scroll-fade-size-e, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))))
    }

    to {
        --scroll-fade-e: 0px
    }
}

@keyframes tw-shimmer {
    0% {
        background-position: 100% 0
    }

    to {
        background-position: 0 0
    }
}

:root {
    --font-geist-sans: 'Poppins', Arial, sans-serif;
    --font-geist-mono: 'Poppins', Arial, sans-serif
}
/* Small screens: round menu button opens a full-screen menu */
@media (width<=760px) {
    .header .menu-button {
        color: #fff;
        cursor: pointer;
        background: #1c1c20;
        border: 1px solid var(--border);
        border-radius: 50%;
        flex-shrink: 0;
        justify-content: center;
        align-items: center;
        width: 46px;
        height: 46px;
        padding: 0;
        display: inline-flex !important
    }

    .header .menu-button svg {
        width: 22px !important;
        height: 22px !important
    }
}

/* The page must not scroll behind the menu. Hiding the scrollbar would
   widen the page and make it reflow (a visible "zoom") while the menu
   animates, so keep its space reserved. */
html.menu-open {
    scrollbar-gutter: stable;
    overflow: hidden
}

/* Transparent full-screen layer: dims the page and holds the panel */
.mobile-menu {
    color: var(--foreground);
    background: #0000;
    border: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    transition: background .6s cubic-bezier(.7, 0, .2, 1);
    position: fixed;
    inset: 0;
    overflow: clip
}

.mobile-menu::backdrop {
    background: none
}

.mobile-menu.is-open {
    background: #000000b3
}

/* The panel slides in from the right with a rounded leading edge */
.mobile-menu-panel {
    background: var(--card);
    border-left: 1px solid var(--border);
    border-radius: 5% 0 0 5% / 3% 0 0 3%;
    box-shadow: -20px 0 60px #00000080;
    flex-direction: column;
    width: 100%;
    height: 100%;
    margin-left: auto;
    padding: 110px 28px 36px;
    transition: transform .6s cubic-bezier(.7, 0, .2, 1), border-radius .6s cubic-bezier(.7, 0, .2, 1);
    display: flex;
    overflow-y: auto;
    transform: translateX(100%)
}

.mobile-menu.is-open .mobile-menu-panel {
    border-radius: 0;
    transform: translateX(0)
}

.mobile-menu-label {
    color: var(--muted);
    border-bottom: 1px solid var(--border);
    padding-bottom: 14px;
    font-size: 15px
}

.mobile-menu-links {
    flex-direction: column;
    gap: 2px;
    margin: 14px 0 36px;
    display: flex
}

.mobile-menu-links a {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
    padding: 6px 0;
    transition: color .2s
}

.mobile-menu-links a:hover,
.mobile-menu-links a:focus-visible {
    color: var(--brand-orange);
    outline: none
}

.mobile-menu-bottom {
    margin-top: auto
}

.mobile-menu-sections {
    margin-bottom: 36px
}

.mobile-menu-sections a {
    font-size: 17px;
    padding: 4px 0
}

.mobile-menu-socials {
    gap: 22px;
    margin-top: 16px;
    font-size: 17px;
    display: flex
}

.mobile-menu-socials a {
    padding-bottom: 3px;
    position: relative
}

.mobile-menu-socials a:after {
    content: "";
    background: var(--brand-orange);
    border-radius: 2px;
    height: 2px;
    transition: transform .6s cubic-bezier(.7, 0, .2, 1);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    transform: scaleX(0)
}

.mobile-menu-socials a:hover:after,
.mobile-menu-socials a:focus-visible:after {
    transform: scaleX(1)
}

/* Round button: sits over the page's menu button; its fill rises from
   the bottom on hover and its three lines turn into a cross when open */
.mobile-menu-close {
    color: #fff;
    cursor: pointer;
    z-index: 1;
    isolation: isolate;
    background: #1c1c20;
    border: 1px solid var(--border);
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 56px;
    height: 56px;
    display: flex;
    transition: color .3s;
    position: absolute;
    top: 16px;
    right: 16px;
    overflow: hidden
}

.mobile-menu-close:before {
    content: "";
    z-index: -1;
    background: var(--brand-orange);
    transition: top .3s;
    position: absolute;
    top: 100%;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%
}

.mobile-menu-close:hover:before {
    top: 0
}

.mobile-menu-close:hover {
    color: #111
}

.mobile-menu-close:focus-visible {
    outline: 2px solid var(--brand-orange);
    outline-offset: 2px
}

.burger {
    flex-direction: column;
    gap: 5px;
    display: flex
}

.burger i {
    background: currentColor;
    border-radius: 2px;
    width: 16px;
    height: 2px;
    transition: transform .2s ease-in-out, opacity .2s ease-in-out;
    display: block
}

.mobile-menu.is-open .burger i {
    transition-delay: .2s
}

.mobile-menu.is-open .burger i:first-child {
    transform: translateY(7px) rotate(45deg)
}

.mobile-menu.is-open .burger i:nth-child(2) {
    opacity: 0
}

.mobile-menu.is-open .burger i:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg)
}

.mobile-menu.is-open .mobile-menu-close {
    animation: menu-button-pop .3s ease
}

@keyframes menu-button-pop {
    50% {
        transform: scale(.9)
    }
}

html[data-theme=light] .header .menu-button,
html[data-theme=light] .mobile-menu-close {
    background: #1c1c20;
    color: #fff
}

@media (prefers-reduced-motion: reduce) {

    .mobile-menu,
    .mobile-menu-panel,
    .burger i {
        transition: none !important
    }
}
