.cq-doc-s0,
.cq-dot-s0,
.cq-doc-s1,
.cq-dot-s1
{
    --cq-dot: var(--success);
}

.cq-doc-s2,
.cq-dot-s2
{
    --cq-dot: var(--brand);
}

.cq-doc-s3,
.cq-dot-s3
{
    --cq-dot: var(--danger);
}

.cq-frame
{
    position: relative;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--bg-secondary);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 32px 64px -32px rgba(var(--brand-ink-rgb), .28);
    font-size: 15px;
    line-height: 1.45;
    color: var(--fg);
}

.cq-frame-hd
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--line);
}

.cq-brand
{
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: .1em;
    color: var(--fg-muted);
}

.cq-brand img
{
    display: block;
}

.cq-brand b
{
    font-weight: 500;
    color: var(--brand);
}

.cq-steps
{
    display: flex;
    align-items: center;
    gap: 14px;
}

.cq-step
{
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: .08em;
    white-space: nowrap;
    color: var(--fg-subtle);
    opacity: .45;
    transition: opacity .3s, color .3s;
}

.cq-step.is-on
{
    opacity: 1;
    color: var(--fg);
}

.cq-step b
{
    margin-right: 4px;
    font-weight: 500;
    color: var(--brand);
}

.cq-replay
{
    padding: 4px 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius-pill);
    background: none;
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: .06em;
    color: var(--fg-muted);
    cursor: pointer;
}

.cq-replay:hover
{
    border-color: var(--line-strong);
    color: var(--fg);
}

.cq-docs
{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--line);
}

.cq-docs-l
{
    margin-right: 6px;
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: .1em;
    color: var(--fg-subtle);
}

.cq-doc
{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 11px;
    border: 1px solid var(--line);
    border-left: 3px solid var(--cq-dot, var(--line-strong));
    border-radius: var(--radius-md);
    background: var(--bg);
    font-family: var(--font-mono);
    font-size: 12px;
    color: var(--fg);
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .4s var(--ease-out), transform .4s var(--ease-out);
}

.cq-doc.is-on
{
    opacity: 1;
    transform: none;
}

.cq-doc-kind
{
    padding: 2px 5px;
    border: 1px solid var(--line);
    border-radius: 3px;
    font-size: 9px;
    letter-spacing: .1em;
    color: var(--fg-subtle);
}

.cq-doc-t
{
    font-size: 11px;
    color: var(--fg-subtle);
}

.cq-live
{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-left: auto;
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--fg-subtle);
}

.cq-live-dot
{
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--brand);
    animation: cq-blink 1s infinite;
}

.cq-live.is-done .cq-live-dot
{
    background: var(--success);
    animation: none;
}

@keyframes cq-blink
{
    50%
    {
        opacity: .25;
    }
}

.cq-plans
{
    padding: 14px 18px;
    border-bottom: 1px solid var(--line);
    background: var(--bg);
}

.cq-plans-l
{
    display: block;
    margin-bottom: 10px;
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: .12em;
    color: var(--fg-muted);
}

.cq-chips
{
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 8px;
}

.cq-chip
{
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 168px;
    padding: 8px 12px;
    border: 1.5px solid var(--line-strong);
    border-radius: var(--radius);
    background: var(--bg-secondary);
    font-family: var(--font-mono);
    font-size: 11.5px;
    letter-spacing: .02em;
    text-align: left;
    color: var(--fg);
    cursor: pointer;
    transition: border-color .2s, background .2s, color .2s;
}

.cq-chip b
{
    font-family: var(--font-sans);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -.01em;
    font-variant-numeric: tabular-nums;
}

.cq-chip i
{
    font-style: normal;
    font-size: 10px;
    color: var(--fg-subtle);
}

.cq-chip.is-on
{
    border-color: var(--brand);
    background: var(--brand);
    color: #FFFFFF;
}

.cq-chip.is-on i
{
    color: rgba(255, 255, 255, .78);
}

.cq-chip.is-manual
{
    border-style: dashed;
}

.cq-chip.is-manual.is-on
{
    border-style: solid;
    border-color: var(--fg);
    background: var(--fg);
}

.cq-chip:not(.is-live):not(.is-on)
{
    color: var(--fg-muted);
    cursor: default;
}

.cq-chip:disabled
{
    border-style: dashed;
    border-color: var(--line);
    background: var(--bg);
    opacity: .55;
}

.cq-chip:focus-visible
{
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

.cq-chip.is-live:hover:not(.is-on)
{
    border-color: var(--fg);
    background: var(--bg-secondary);
}

.cq-plan-why
{
    margin: 10px 0 0;
    font-family: var(--font-mono);
    font-size: 11px;
    line-height: 1.5;
    color: var(--fg-muted);
}

.cq-save
{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--line);
    border-left: 3px solid var(--success);
    background: color-mix(in oklab, var(--success) 5%, var(--bg-secondary));
    transition: opacity .5s;
}

.cq-save.is-on
{
    opacity: 1;
}

.cq-save-l
{
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: .12em;
    color: var(--success);
}

.cq-save-v
{
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: 38px;
    line-height: 1;
    letter-spacing: -.02em;
    font-variant-numeric: tabular-nums;
}

.cq-save-pct
{
    font-size: 14px;
    font-weight: 500;
    color: var(--success);
}

.cq-save-r
{
    margin-left: auto;
    font-family: var(--font-mono);
    font-size: 11px;
    line-height: 1.7;
    text-align: right;
    color: var(--fg-subtle);
}

.cq-save-warn
{
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--warning);
}

.cq-save-warn button
{
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    text-decoration: underline;
    color: var(--brand);
    cursor: pointer;
}

.cq-tblwrap
{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.cq-cards
{
    display: none;
}

.cq-tbl
{
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
}

.cq-tbl th,
.cq-tbl td
{
    padding: 10px 14px;
    border-bottom: 1px solid var(--line);
    text-align: left;
}

.cq-tbl thead th
{
    padding-top: 14px;
    padding-bottom: 12px;
    vertical-align: top;
}

.cq-th-idx
{
    width: 30px;
}

.cq-hd-name
{
    display: flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-mono);
    font-size: 11px;
    white-space: nowrap;
    color: var(--fg);
}

.cq-dot
{
    flex-shrink: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--cq-dot, var(--fg-subtle));
}

.cq-hd-tot
{
    margin-top: 8px;
    font-family: var(--font-mono);
    font-size: 13px;
    font-weight: 500;
}

.cq-hd-sub
{
    margin-top: 3px;
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: .04em;
    color: var(--fg-subtle);
}

.cq-hd-badge
{
    display: inline-block;
    margin-top: 6px;
    padding: 2px 6px;
    border: 1px solid color-mix(in oklab, var(--success) 40%, transparent);
    border-radius: 3px;
    font-family: var(--font-mono);
    font-size: 9px;
    letter-spacing: .1em;
    color: var(--success);
}

.cq-th-item
{
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .12em;
    color: var(--fg-subtle);
}

.cq-row
{
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .45s, transform .45s;
}

.cq-row.is-on
{
    opacity: 1;
    transform: none;
}

.cq-item-n
{
    font-size: 13.5px;
    font-weight: 500;
    letter-spacing: -.005em;
}

.cq-item-q
{
    margin-top: 2px;
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--fg-subtle);
}

.cq-idx
{
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--fg-subtle);
}

.cq-cell
{
    display: flex;
    align-items: center;
    gap: 7px;
    width: 100%;
    margin: -6px -8px;
    padding: 6px 8px;
    border: 0;
    border-radius: var(--radius-md);
    background: none;
    font-family: var(--font-mono);
    font-size: 13px;
    white-space: nowrap;
    color: var(--fg-muted);
    cursor: default;
    transition: background .2s;
}

.cq-cell.is-live
{
    cursor: pointer;
}

.cq-cell.is-live:hover
{
    background: var(--bg-tertiary);
}

.cq-cell.is-sel
{
    background: color-mix(in oklab, var(--success) 8%, transparent);
    color: var(--fg);
}

.cq-cell.is-sel.is-live:hover
{
    background: color-mix(in oklab, var(--success) 13%, transparent);
}

.cq-r
{
    position: relative;
    flex-shrink: 0;
    width: 13px;
    height: 13px;
    border: 1.5px solid var(--line-strong);
    border-radius: 50%;
    transition: border-color .2s;
}

.cq-cell.is-sel .cq-r
{
    border-color: var(--brand);
}

.cq-cell.is-sel .cq-r::after
{
    content: '';
    position: absolute;
    inset: 2.5px;
    border-radius: 50%;
    background: var(--brand);
}

.cq-cell-q
{
    font-size: 10.5px;
    color: var(--fg-subtle);
}

.cq-pct
{
    font-size: 10.5px;
    font-weight: 500;
}

.cq-pct.up
{
    color: var(--danger);
}

.cq-pct.down
{
    color: var(--success);
}

.cq-none
{
    font-family: var(--font-mono);
    color: var(--line-strong);
}

.cq-tbl tfoot td
{
    padding-top: 12px;
    padding-bottom: 14px;
    border-bottom: 0;
}

.cq-foot-l
{
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: .12em;
    color: var(--fg-subtle);
}

.cq-foot-total
{
    margin-top: 3px;
    font-family: var(--font-mono);
    font-size: 15px;
    font-weight: 500;
}

.cq-foot-sup
{
    font-family: var(--font-mono);
    font-size: 12px;
    color: var(--fg-muted);
}

.cq-foot-sup i
{
    display: block;
    margin-top: 2px;
    font-style: normal;
    font-size: 10px;
    color: var(--fg-subtle);
}

.cq-hint
{
    padding: 0 18px 12px;
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--fg-subtle);
    opacity: 0;
    transition: opacity .4s;
}

.cq-hint.is-on
{
    opacity: 1;
}

.cq-hint b
{
    font-weight: 500;
    color: var(--brand);
}

.cq-orders-note
{
    padding: 0 18px 18px;
    background: var(--bg);
    font-family: var(--font-mono);
    font-size: 11px;
    line-height: 1.5;
    color: var(--fg-subtle);
}

.cq-orders
{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
    padding: 18px;
    border-top: 1px solid var(--line);
    background: var(--bg);
}

.cq-order
{
    padding: 13px 14px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--bg-secondary);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .45s, transform .45s;
}

.cq-order.is-on
{
    opacity: 1;
    transform: none;
}

.cq-order-hd
{
    display: flex;
    align-items: center;
    gap: 7px;
    overflow: hidden;
    font-family: var(--font-mono);
    font-size: 10.5px;
    color: var(--fg-muted);
}

.cq-order-hd span
{
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.cq-order-v
{
    margin-top: 9px;
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: 21px;
    letter-spacing: -.02em;
    font-variant-numeric: tabular-nums;
}

.cq-order-s
{
    margin-top: 3px;
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--fg-subtle);
}

.cq-order-exp
{
    display: flex;
    gap: 5px;
    margin-top: 11px;
}

.cq-exp
{
    padding: 3px 7px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    font-size: 9.5px;
    letter-spacing: .04em;
    color: var(--fg-muted);
}

.cq-order.is-total
{
    border-color: var(--brand);
}

.cq-order.is-total .cq-order-hd
{
    letter-spacing: .1em;
    color: var(--brand);
}

.cq-order.is-total .cq-order-v
{
    font-size: 24px;
    color: var(--brand);
}

@media (max-width: 1024px)
{
    .cq-save-r
    {
        font-size: 10.5px;
    }
}

@media (max-width: 820px)
{
    .cq-save
    {
        gap: 12px 20px;
    }

    .cq-save-r
    {
        flex-basis: 100%;
        margin-left: 0;
        text-align: left;
    }

    .cq-tblwrap
    {
        display: none;
    }

    .cq-cards
    {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 14px 12px;
    }

    .cq-card
    {
        padding: 12px;
        border: 1px solid var(--line);
        border-radius: 12px;
        background: var(--bg-secondary);
        opacity: 0;
        transform: translateY(6px);
        transition: opacity .4s, transform .4s;
    }

    .cq-card.is-on
    {
        opacity: 1;
        transform: none;
    }

    .cq-card-hd
    {
        display: flex;
        align-items: flex-start;
        gap: 10px;
    }

    .cq-card-idx
    {
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        width: 26px;
        height: 26px;
        border: 1px solid var(--line);
        border-radius: 7px;
        background: var(--bg-tertiary);
        font-family: var(--font-mono);
        font-size: 12px;
        color: var(--fg-muted);
    }

    .cq-card-item
    {
        flex: 1 1 auto;
        min-width: 0;
    }

    .cq-card-item .cq-item-n
    {
        font-size: 15px;
        overflow-wrap: anywhere;
    }

    .cq-card-item .cq-item-q
    {
        margin-top: 2px;
    }

    .cq-card-sel
    {
        flex: 0 0 auto;
        text-align: right;
    }

    .cq-card-sel-sup
    {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-family: var(--font-mono);
        font-size: 11px;
        color: var(--fg-muted);
    }

    .cq-card-sel-v
    {
        margin-top: 3px;
        font-family: var(--font-sans);
        font-weight: 600;
        font-size: 16px;
        font-variant-numeric: tabular-nums;
        color: var(--brand);
    }

    .cq-tiles
    {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 8px;
        margin-top: 12px;
    }

    .cq-tile
    {
        position: relative;
        min-width: 0;
        padding: 11px 12px;
        border: 1.5px solid var(--line);
        border-radius: 10px;
        background: var(--bg-secondary);
        font: inherit;
        text-align: left;
        color: var(--fg);
        cursor: default;
        transition: border-color .2s, background .2s;
    }

    .cq-tile.is-live
    {
        cursor: pointer;
    }

    .cq-tile.is-sel
    {
        border-color: var(--success);
        background: color-mix(in oklab, var(--success) 7%, var(--bg-secondary));
    }

    .cq-tile-radio
    {
        position: absolute;
        top: 10px;
        right: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 18px;
        height: 18px;
        border: 1.5px solid var(--line-strong);
        border-radius: 50%;
        font-size: 11px;
        line-height: 1;
        color: #FFFFFF;
    }

    .cq-tile.is-sel .cq-tile-radio
    {
        border-color: var(--success);
        background: var(--success);
    }

    .cq-tile-sup
    {
        display: flex;
        align-items: center;
        gap: 6px;
        overflow: hidden;
        padding-right: 24px;
        font-family: var(--font-mono);
        font-size: 11px;
        white-space: nowrap;
        text-overflow: ellipsis;
        color: var(--fg-muted);
    }

    .cq-tile-v
    {
        margin-top: 6px;
        font-family: var(--font-sans);
        font-weight: 600;
        font-size: 19px;
        letter-spacing: -.01em;
        font-variant-numeric: tabular-nums;
    }

    .cq-tile.is-sel .cq-tile-v
    {
        color: var(--success);
    }

    .cq-tile-note
    {
        margin-top: 4px;
        font-family: var(--font-mono);
        font-size: 10.5px;
    }

    .cq-tile-note.is-best
    {
        color: var(--success);
    }

    .cq-tile-note.is-up
    {
        color: var(--danger);
    }

    .cq-card-miss
    {
        margin-top: 12px;
        padding-top: 10px;
        border-top: 1px solid var(--line);
        font-family: var(--font-mono);
        font-size: 11px;
        text-align: center;
        color: var(--fg-subtle);
    }

    .cq-cards.is-clamped .cq-card:nth-child(n+3)
    {
        display: none;
    }

    .cq-more:not([hidden])
    {
        display: flex;
    }

    .cq-more
    {
        flex-direction: column;
        gap: 5px;
        width: 100%;
        padding: 14px;
        border: 1.5px dashed var(--line-strong);
        border-radius: 12px;
        background: var(--bg-tertiary);
        text-align: left;
        cursor: pointer;
    }

    .cq-more b
    {
        font-size: 15px;
        font-weight: 600;
        color: var(--brand);
    }

    .cq-more i
    {
        font-style: normal;
        font-family: var(--font-mono);
        font-size: 11px;
        line-height: 1.5;
        color: var(--fg-muted);
    }

    .cq-more.is-less
    {
        background: none;
    }

    .cq-more.is-less b
    {
        font-size: 13px;
        color: var(--fg-muted);
    }

    .cq-more.is-less i
    {
        display: none;
    }

    .cq-docs
    {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 10px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .cq-docs::-webkit-scrollbar,
    .cq-chips::-webkit-scrollbar
    {
        display: none;
    }

    .cq-docs-l
    {
        flex-basis: auto;
        margin-bottom: 0;
    }

    .cq-doc
    {
        flex: 0 0 auto;
        max-width: 210px;
    }

    .cq-doc .cq-doc-t
    {
        display: none;
    }

    .cq-live
    {
        flex-basis: auto;
        white-space: nowrap;
    }

    .cq-chips
    {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        scroll-snap-type: x proximity;
    }

    .cq-chip
    {
        flex: 0 0 auto;
        min-width: 148px;
        scroll-snap-align: start;
    }

    .cq-orders
    {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .cq-order:not([hidden])
    {
        display: grid;
    }

    .cq-order
    {
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: 2px 12px;
        padding: 10px 12px;
    }

    .cq-order-hd
    {
        grid-column: 1;
    }

    .cq-order-v
    {
        grid-column: 2;
        grid-row: 1 / span 2;
        align-self: center;
        font-size: 17px;
    }

    .cq-order-s
    {
        grid-column: 1;
        margin-top: 0;
    }

    .cq-order-exp
    {
        display: none;
    }

    .cq-order.is-total
    {
        border-width: 1.5px;
    }

    .cq-order.is-total .cq-order-v
    {
        font-size: 20px;
    }

    .cq-card-sel-v,
    .cq-tile-v,
    .cq-order-v
    {
        white-space: nowrap;
    }
}

@media (max-width: 720px)
{
    .cq-steps
    {
        display: none;
    }

    .cq-frame
    {
        border-radius: 12px;
    }

    .cq-frame-hd
    {
        flex-wrap: wrap;
        gap: 8px;
        padding: 10px 12px;
    }

    .cq-docs,
    .cq-plans
    {
        padding-left: 12px;
        padding-right: 12px;
    }

    .cq-save
    {
        padding: 16px 14px;
    }

    .cq-save-v
    {
        font-size: 28px;
    }

    .cq-save-r
    {
        margin-left: 0;
        text-align: left;
    }

    .cq-hint,
    .cq-orders,
    .cq-orders-note
    {
        padding-left: 12px;
        padding-right: 12px;
    }
}

@media (max-width: 480px)
{
    .cq-brand
    {
        font-size: 10px;
    }

    .cq-save-v
    {
        font-size: 24px;
    }
}

@media (max-width: 420px)
{
    .cq-cards
    {
        gap: 8px;
        padding: 12px 10px;
    }

    .cq-card
    {
        padding: 11px 10px;
        border-radius: 11px;
    }

    .cq-card-hd
    {
        flex-wrap: wrap;
        gap: 8px;
    }

    .cq-card-idx
    {
        width: 24px;
        height: 24px;
        border-radius: 6px;
        font-size: 11px;
    }

    .cq-card-item
    {
        flex: 1 1 60%;
        min-width: 0;
    }

    .cq-card-item .cq-item-n
    {
        font-size: 14px;
        line-height: 1.25;
    }

    .cq-card-sel
    {
        display: flex;
        flex: 1 1 100%;
        align-items: baseline;
        justify-content: space-between;
        gap: 8px;
        margin-top: 2px;
        padding-top: 8px;
        border-top: 1px solid var(--line);
        text-align: left;
    }

    .cq-card-sel-v
    {
        margin-top: 0;
        font-size: 15px;
    }

    .cq-tiles
    {
        gap: 7px;
        margin-top: 10px;
    }

    .cq-tile
    {
        padding: 10px;
        border-radius: 9px;
    }

    .cq-tile-radio
    {
        top: 8px;
        right: 8px;
        width: 16px;
        height: 16px;
        font-size: 10px;
    }

    .cq-tile-sup
    {
        gap: 5px;
        padding-right: 20px;
        font-size: 10px;
    }

    .cq-tile-v
    {
        margin-top: 5px;
        font-size: 16px;
    }

    .cq-tile-note
    {
        font-size: 10px;
        white-space: nowrap;
    }

    .cq-card-miss
    {
        margin-top: 10px;
        font-size: 10.5px;
    }
}

@media (prefers-reduced-motion: reduce)
{
    .cq-doc,
    .cq-row,
    .cq-card,
    .cq-order,
    .cq-save,
    .cq-hint
    {
        transition: none;
    }

    .cq-live-dot
    {
        animation: none;
    }
}
