
.suncheck_resultbox_group{
    width: 100%;
    height: 80px;
    position: absolute;
    top: 100px;
    font-size: 20px;
    color: white;
}

.suncheck_resultbox_group_border{
    width: 96%;
    height: 100%;
    left: 2%;
    position: absolute;
    border: 1px solid rgb(255, 255, 255);
}

.suncheck_resultbox_group_text{
    font-size: 20px;
    color: white;
    top: 50%;
    position: absolute;
    transform: translateY(-50%);
}

.suncheck_resultbox_group_select{
    width: 300px;
    position: absolute;
    top:50%;
    transform:  translateY(-50%);
}


#suncheck_resultbox_table{
    width: 100%;
    font-size: 16px;
}

#viewcheck_resultbox_content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 320px;
}

/*
 * Keep the complete result headings and the floor column readable while
 * protecting licensed values. New-building sun results expose four heading
 * rows, comparison sun results expose five, view results expose three, and
 * privacy results expose two.
 */
#suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(n + 5) > *:not(:first-child),
#suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(n + 5) > *:first-child[colspan],
#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(n + 6) > *:not(:first-child),
#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(n + 6) > *:first-child[colspan],
#viewcheck_resultbox_table tr:nth-child(n + 4) > *:not(:first-child),
#viewcheck_resultbox_table tr:nth-child(n + 4) > *:first-child[colspan],
#private_resultbox_table tr:nth-child(n + 3) > *:not(:first-child),
#private_resultbox_table tr:nth-child(n + 3) > *:first-child[colspan],
#viewcheck_resultbox_viewImage_parent,
#viewcheck_resultbox_viewImage_parent2,
#viewcheck_resultbox_viewText,
#viewcheck_resultbox_viewText2 {
    transition: filter 0.18s ease, opacity 0.18s ease;
}

body[data-can-view-analysis-results="false"] #suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(n + 5) > *:not(:first-child),
body[data-can-view-analysis-results="false"] #suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(n + 5) > *:first-child[colspan],
body[data-can-view-analysis-results="false"] #suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(n + 6) > *:not(:first-child),
body[data-can-view-analysis-results="false"] #suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(n + 6) > *:first-child[colspan],
body[data-can-view-analysis-results="false"] #viewcheck_resultbox_table tr:nth-child(n + 4) > *:not(:first-child),
body[data-can-view-analysis-results="false"] #viewcheck_resultbox_table tr:nth-child(n + 4) > *:first-child[colspan],
body[data-can-use-privacy-analysis="false"] #private_resultbox_table tr:nth-child(n + 3) > *:not(:first-child),
body[data-can-use-privacy-analysis="false"] #private_resultbox_table tr:nth-child(n + 3) > *:first-child[colspan],
body[data-can-view-analysis-results="false"] #viewcheck_resultbox_viewImage_parent,
body[data-can-view-analysis-results="false"] #viewcheck_resultbox_viewImage_parent2,
body[data-can-view-analysis-results="false"] #viewcheck_resultbox_viewText,
body[data-can-view-analysis-results="false"] #viewcheck_resultbox_viewText2 {
    filter: blur(8px);
    opacity: 0.72;
    pointer-events: none;
    user-select: none;
}

.snv-license-result-gate {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: none;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

body[data-can-view-analysis-results="false"] #suncheck_resultbox_license_gate,
body[data-can-view-analysis-results="false"] #viewcheck_resultbox_license_gate,
body[data-can-use-privacy-analysis="false"] #private_resultbox_license_gate {
    display: flex;
}

.snv-license-table-result-gate {
    top: 60px;
    right: calc(2% + 18px);
    bottom: 18px;
    left: 2%;
}

#suncheck_resultbox_license_gate {
    top: 158px;
}

.snv-license-view-result-gate {
    top: 140px;
    right: 58px;
    bottom: 15px;
    left: 320px;
}

.snv-license-result-upgrade {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 310px;
    min-height: 48px;
    padding: 12px 24px;
    border: 1px solid #356de8;
    border-radius: 999px;
    background: linear-gradient(135deg, #356de8, #6554e8);
    box-shadow: 0 12px 28px rgba(48, 79, 169, 0.3);
    color: #ffffff;
    cursor: pointer;
    pointer-events: auto;
    font-family: 'Pretendard', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    word-break: keep-all;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.snv-license-result-upgrade:hover {
    background: linear-gradient(135deg, #285dd0, #5543d1);
    box-shadow: 0 15px 32px rgba(48, 79, 169, 0.38);
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-2px);
}

.snv-license-result-upgrade:active {
    box-shadow: 0 8px 18px rgba(48, 79, 169, 0.28);
    transform: translateY(0);
}

.snv-license-result-upgrade:focus-visible {
    outline: 3px solid #85a9ff;
    outline-offset: 3px;
}

#lightcheck_resultbox table,
.snv-analysis-result table {
    width: 100%;
    border: 1px solid #ffffff;
}

#lightcheck_resultbox th,
#lightcheck_resultbox td,
.snv-analysis-result th,
.snv-analysis-result td {
    border: 1px solid #ffffff;
}


.suncheck_resultbox_table_bar{
    position: absolute;
    width: 30px;
    height: 15px;
    transform: translateY(50%);
    background-color: rgb(255, 96, 68);
}

.suncheck_resultbox_table_img_parent{
    position: absolute;
    width: 100%;
    height: 20px;
}


.suncheck_resultbox_table_img1{
    width:100%;
    height:30px;
    /*vertical-align:top;*/
}

.suncheck_resultbox_table_img2{
    width:209.08px;
    position:absolute;
    left:0px;
    height:30px
}


.suncheck_resultbox_table_img_area{
    width:215.33px;
    position:absolute;
    left:0px;
    height:30px
}

/* --------------------------------------------------------------------------
 * Analysis result workspace
 * -------------------------------------------------------------------------- */

.SquareBox.snv-analysis-result {
    --snv-result-header-height: 64px;
    --snv-result-sidebar-width: 260px;
    width: min(1400px, calc(100vw - 122px));
    min-width: 900px;
    height: min(680px, calc(100vh - 36px));
    min-height: 520px;
    box-sizing: border-box;
    z-index: 104;
    overflow: hidden;
    border: 1px solid rgba(208, 215, 226, 0.92);
    border-radius: 18px;
    background: #f5f7fb;
    box-shadow: 0 28px 72px rgba(15, 23, 42, 0.26), 0 4px 14px rgba(15, 23, 42, 0.08);
    color: #1d2939;
    font-family: 'Pretendard', sans-serif;
}

.SquareBox.snv-analysis-result--private {
    width: min(1300px, calc(100vw - 122px));
    height: min(650px, calc(100vh - 36px));
}

.SquareBox.snv-analysis-result--view {
    width: min(1320px, calc(100vw - 122px));
    height: min(760px, calc(100vh - 36px));
}

.snv-analysis-result .snv-analysis-result-header {
    position: absolute;
    inset: 0 0 auto;
    z-index: 8;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: auto;
    height: var(--snv-result-header-height);
    padding: 0 18px 0 22px;
    border-bottom: 1px solid #e4e9f1;
    background: linear-gradient(135deg, #ffffff 0%, #f7f9fd 72%, #eef3ff 100%);
    cursor: move;
    user-select: none;
}

.snv-analysis-result-heading {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.snv-analysis-result-eyebrow {
    color: #356de8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.13em;
    line-height: 14px;
}

.snv-analysis-result-heading h2 {
    margin: 0;
    color: #172033;
    font-size: 19px;
    font-weight: 750;
    letter-spacing: -0.025em;
    line-height: 26px;
}

.snv-analysis-result-window-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.snv-analysis-result-window-button {
    position: relative;
    display: inline-flex;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #dce3ed;
    border-radius: 10px;
    background: #ffffff;
    color: #667085;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.snv-analysis-result-window-button:hover {
    border-color: #b9c7df;
    background: #edf3ff;
    color: #285dd0;
    transform: translateY(-1px);
}

.snv-analysis-result-window-button:focus-visible,
.snv-analysis-result-button:focus-visible,
.snv-analysis-result-scroll:focus-visible {
    outline: 3px solid #2563eb;
    outline-offset: 2px;
}

.snv-analysis-result-window-button--minimize::before {
    width: 14px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    content: '';
}

.snv-analysis-result-window-button--close::before,
.snv-analysis-result-window-button--close::after {
    position: absolute;
    width: 15px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    content: '';
}

.snv-analysis-result-window-button--close::before { transform: rotate(45deg); }
.snv-analysis-result-window-button--close::after { transform: rotate(-45deg); }

.snv-analysis-result .snv-analysis-result-body {
    position: absolute;
    inset: var(--snv-result-header-height) 0 0;
    display: grid;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    grid-template-columns: var(--snv-result-sidebar-width) minmax(0, 1fr);
    gap: 18px;
    padding: 18px;
    overflow: hidden;
    background: #f5f7fb;
}

.snv-analysis-result-sidebar,
.snv-analysis-result-panel,
.snv-analysis-result-view-table,
.snv-analysis-result-preview-card {
    border: 1px solid #dfe5ee;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.045);
}

.snv-analysis-result-sidebar {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
}

.snv-analysis-result-sidebar-header {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 4px;
    padding: 17px 18px 14px;
    border-bottom: 1px solid #edf0f5;
    background: linear-gradient(180deg, #ffffff, #fbfcfe);
}

.snv-analysis-result-sidebar-header strong {
    color: #25324a;
    font-size: 14px;
    font-weight: 750;
    line-height: 20px;
}

.snv-analysis-result-sidebar-header span {
    color: #667085;
    font-size: 11px;
    line-height: 17px;
    word-break: keep-all;
}

.snv-analysis-result-tree-scroll {
    min-height: 0;
    flex: 1 1 auto;
    padding: 10px 9px 14px;
    overflow: auto;
    scrollbar-color: #c7d2e3 transparent;
    scrollbar-width: thin;
}

.snv-analysis-result-tree {
    margin: 0;
    padding: 0;
    color: #344054;
    list-style: none;
}

.snv-analysis-result-tree .treeli {
    left: 0 !important;
    width: 100%;
    line-height: 28px;
}

.snv-analysis-result-tree .nested {
    margin: 2px 0 3px 11px;
    padding: 0 0 0 9px;
    border-left: 1px solid #e6eaf0;
    list-style: none;
}

.snv-analysis-result-tree .nested.active { display: block; }

.snv-analysis-result-tree .caret_sun,
.snv-analysis-result-tree .caret_view,
.snv-analysis-result-tree .caret_private {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-height: 32px;
    padding: 3px 8px;
    overflow: hidden;
    border-radius: 8px;
    color: #475467;
    font-size: 12px;
    font-weight: 650;
    line-height: 26px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.snv-analysis-result-tree .caret_sun:hover,
.snv-analysis-result-tree .caret_view:hover,
.snv-analysis-result-tree .caret_private:hover {
    background: #f0f5ff;
    color: #285dd0;
}

.snv-analysis-result-tree .caret_sun::before,
.snv-analysis-result-tree .caret_view::before,
.snv-analysis-result-tree .caret_private::before {
    color: #8291aa;
    font-size: 9px;
    transition: transform 0.15s ease;
}

.snv-analysis-result-tree .treeli_sun_line,
.snv-analysis-result-tree .treeli_view_line,
.snv-analysis-result-tree .treeli_private_line {
    left: 0;
    box-sizing: border-box;
    width: 100%;
    min-height: 34px;
    margin: 2px 0;
    padding: 3px 8px;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #475467;
    font-size: 12px;
    line-height: 26px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.snv-analysis-result-tree .treeli_sun_line:hover,
.snv-analysis-result-tree .treeli_view_line:hover,
.snv-analysis-result-tree .treeli_private_line:hover {
    border-color: #dce6f8;
    background: #f5f8ff;
}

.snv-analysis-result-tree .treeli_sun_line-select,
.snv-analysis-result-tree .treeli_view_line-select,
.snv-analysis-result-tree .treeli_private_line-select {
    border-color: #9cb9f5;
    background: linear-gradient(135deg, #eaf1ff, #f2efff);
    color: #174ea6;
    font-weight: 700;
}

.snv-analysis-result-tree .treeli_icon::before {
    color: #7e96c5;
    font-size: 9px;
}

.snv-analysis-result-sidebar-actions {
    display: grid;
    flex: 0 0 auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 12px;
    border-top: 1px solid #edf0f5;
    background: #fbfcfe;
}

.snv-analysis-result-button {
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid #cad5e5;
    border-radius: 10px;
    background: #ffffff;
    color: #344054;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.snv-analysis-result-button:hover {
    border-color: #89a8ea;
    background: #edf3ff;
    color: #2456bc;
}

.snv-analysis-result-panel {
    position: relative;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.snv-analysis-result .snv-analysis-result-scroll {
    position: relative;
    left: auto;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    border: 0;
    background: transparent;
    scrollbar-color: #bdc9da transparent;
    scrollbar-width: thin;
}

.snv-analysis-result-table {
    width: 100%;
    min-width: 820px;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    /* The dynamic result tables declare meaningful per-column widths in rows
     * after their spanning title row. Auto layout honors those hints, whereas
     * fixed layout makes every comparison column equal and crushes timelines. */
    table-layout: auto;
    color: #344054;
    font-size: 12px;
    line-height: 1.35;
}

/* Override the legacy 16px ID rule so the comparison header keeps the same
   38px sticky-row rhythm as the other result tables. */
#suncheck_resultbox_table.snv-analysis-result-table {
    font-size: 12px;
}

#suncheck_resultbox_table.is-comparison { min-width: 1280px; }
#viewcheck_resultbox_table.is-comparison { min-width: 980px; }
#private_resultbox_table { min-width: 1060px; }

.snv-analysis-result .snv-analysis-result-table td,
.snv-analysis-result .snv-analysis-result-table th {
    box-sizing: border-box;
    height: 38px;
    padding: 7px 9px;
    border: 0;
    border-right: 1px solid #e4e9f0;
    border-bottom: 1px solid #e4e9f0;
    vertical-align: middle;
    white-space: normal;
}

.snv-analysis-result-table tr > :last-child { border-right: 0; }

#suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(n + 5),
#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(n + 6),
#viewcheck_resultbox_table tr:nth-child(n + 4),
#private_resultbox_table tr:nth-child(n + 3) {
    background: #ffffff !important;
}

#suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(n + 5) > td,
#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(n + 6) > td,
#viewcheck_resultbox_table tr:nth-child(n + 4) > td,
#private_resultbox_table tr:nth-child(n + 3) > td {
    color: #344054;
}

#suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(n + 5) > td[style*="#383838"],
#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(n + 6) > td[style*="#383838"],
#viewcheck_resultbox_table tr:nth-child(n + 4) > td[style*="#383838"],
#private_resultbox_table tr:nth-child(n + 3) > td[style*="#383838"],
#private_resultbox_table tr:nth-child(n + 3) > td[style*="#005766"] {
    color: #ffffff;
}

#suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(n + 5):hover,
#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(n + 6):hover,
#viewcheck_resultbox_table tr:nth-child(n + 4):hover,
#private_resultbox_table tr:nth-child(n + 3):hover {
    background: #f2f6ff !important;
}

#suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(-n + 4) > td,
#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(-n + 5) > td,
#viewcheck_resultbox_table tr:nth-child(-n + 3) > td,
#private_resultbox_table tr:nth-child(-n + 2) > td {
    position: sticky;
    height: 38px !important;
    padding-block: 5px;
    color: #ffffff;
    font-weight: 650;
    line-height: 18px !important;
    white-space: nowrap;
    border-bottom: 1px solid #dce3ed;
    background-clip: padding-box;
    box-shadow: inset 0 -1px 0 #dce3ed, inset -1px 0 0 rgba(220, 227, 237, 0.72);
}

/* A sticky table cell no longer paints its row's background reliably once it
   detaches during scrolling. Give every heading cell an opaque fallback so
   body rows cannot show through and title cells never turn white. Inline
   business-before/business-after colors remain more specific than the
   non-important row fallbacks below. */
#suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(1) > td,
#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(1) > td {
    z-index: 9;
    background-color: #2b3146 !important;
}

#suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(2) > td,
#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(2) > td,
#viewcheck_resultbox_table tr:nth-child(1) > td,
#private_resultbox_table tr:nth-child(1) > td {
    z-index: 8;
    background-color: #2b3146 !important;
}

#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(3) > td,
#viewcheck_resultbox_table tr:nth-child(2) > td,
#private_resultbox_table tr:nth-child(2) > td {
    z-index: 7;
    background-color: #3d445e;
}

#suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(3) > td {
    z-index: 7;
    background-color: #636d8f;
}

#suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(4) > td,
#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(4) > td,
#viewcheck_resultbox_table tr:nth-child(3) > td {
    z-index: 6;
    background-color: #636d8f;
}

#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(5) > td {
    z-index: 5;
    background-color: #636d8f;
}

.snv-analysis-result-header-fill {
    padding: 0 !important;
    color: transparent !important;
    background-color: #3d445e !important;
}

#suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(1) > td,
#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(1) > td,
#viewcheck_resultbox_table tr:nth-child(1) > td,
#private_resultbox_table tr:nth-child(1) > td { top: 0; }

#suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(2) > td,
#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(2) > td,
#viewcheck_resultbox_table tr:nth-child(2) > td,
#private_resultbox_table tr:nth-child(2) > td { top: 38px; }

#suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(3) > td,
#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(3) > td,
#viewcheck_resultbox_table tr:nth-child(3) > td { top: 76px; }

#suncheck_resultbox_table[data-result-kind="single"] tr:nth-child(4) > td,
#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(4) > td { top: 114px; }

#suncheck_resultbox_table[data-result-kind="comparison"] tr:nth-child(5) > td { top: 152px; }

.snv-analysis-result-view-content {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-rows: minmax(190px, 0.9fr) minmax(230px, 1fr);
    gap: 14px;
}

/* Override the legacy absolute result-image layout so the modern view result
 * participates in the result body's grid and scales with the window. */
#viewcheck_resultbox_content.snv-analysis-result-view-content {
    position: relative;
    inset: auto;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
}

.snv-analysis-result-view-table { min-height: 0; overflow: hidden; }

.snv-analysis-result-preview-grid {
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.snv-analysis-result-view-content.is-single .snv-analysis-result-preview-grid {
    grid-template-columns: minmax(0, 680px);
    justify-content: center;
}

.snv-analysis-result-preview-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 0;
    margin: 0;
    flex-direction: column;
    overflow: hidden;
}

.snv-analysis-result-preview-card[hidden] { display: none !important; }

.snv-analysis-result-preview-media {
    position: relative;
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
    background: radial-gradient(circle at 25% 20%, #edf3ff, #dde5f1 62%, #cfd9e8);
}

.snv-analysis-result-preview-media::before {
    position: absolute;
    top: 50%;
    left: 50%;
    color: #667085;
    content: '결과 행을 선택하면 조망 이미지가 표시됩니다.';
    font-size: 12px;
    line-height: 18px;
    text-align: center;
    transform: translate(-50%, -50%);
    white-space: nowrap;
}

.snv-analysis-result-preview-media img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.snv-analysis-result-preview-media img:not([src]),
.snv-analysis-result-preview-media img[src=''] { visibility: hidden; }

.snv-analysis-result-preview-card figcaption {
    min-height: 42px;
    padding: 11px 14px;
    border-top: 1px solid #e5eaf1;
    background: #ffffff;
    color: #344054;
    font-size: 13px;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
}

/* Result-only proportional sunlight timeline. The legacy report renderer keeps
 * using the pixel-based classes above, while this wrapper scales with its cell. */
.snv-analysis-result .sun-result-timeline {
    position: relative;
    width: auto;
    height: 30px;
    min-width: 0;
    margin-inline: var(--sun-timeline-edge-inset);
    overflow: hidden;
    border-radius: 7px;
    isolation: isolate;
    background: transparent;
}

/* Fixed 05/08/11/14/17/20 guides span the complete cell. */
.snv-analysis-result .sun-result-timeline::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: repeating-linear-gradient(
        to right,
        rgba(51, 65, 85, 0.46) 0,
        rgba(51, 65, 85, 0.46) 1px,
        transparent 1px,
        transparent 20%
    );
    box-shadow: inset -1px 0 rgba(51, 65, 85, 0.46);
    z-index: 1;
}

/* The filled track is only the daylight period calculated for the analysis
 * date. Its position remains expressed inside the fixed 05:00~20:00 axis. */
.snv-analysis-result .sun-result-timeline::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--sun-daylight-start, 0%);
    width: var(--sun-daylight-width, 0%);
    box-sizing: border-box;
    border: 1px solid rgba(59, 130, 246, 0.28);
    border-radius: 5px;
    pointer-events: none;
    background: rgba(219, 234, 254, 0.7);
    opacity: var(--sun-daylight-opacity, 0);
    z-index: 0;
}

.snv-analysis-result .sun-result-timeline .suncheck_resultbox_table_img1,
.snv-analysis-result .sun-result-timeline .suncheck_resultbox_table_img2 {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 30px;
    object-fit: fill;
}

.sun-result-timeline .suncheck_resultbox_table_bar {
    position: absolute;
    top: 50%;
    left: var(--sun-bar-start);
    width: var(--sun-bar-width);
    height: 12px;
    margin: 0;
    overflow: hidden;
    border-radius: 4px;
    background: rgba(255, 96, 68, 0.62);
    box-shadow: 0 2px 6px rgba(51, 65, 85, 0.12);
    transform: translateY(-50%);
    z-index: 2;
}

.sun-result-timeline .suncheck_resultbox_table_bar[data-sunlight-category]:not([data-sunlight-category="standard"])::after {
    content: "";
    position: absolute;
    inset: 2px 0;
    border-radius: inherit;
    pointer-events: none;
    background: var(--sun-bar-color);
    opacity: 0.56;
}

.sun-result-timeline .suncheck_resultbox_table_bar[data-sun-segment-position] {
    border-radius: 0;
}

.sun-result-timeline .suncheck_resultbox_table_bar[data-sun-segment-position="only"] {
    border-radius: 4px;
}

.sun-result-timeline .suncheck_resultbox_table_bar[data-sun-segment-position="first"] {
    border-radius: 4px 0 0 4px;
}

.sun-result-timeline .suncheck_resultbox_table_bar[data-sun-segment-position="last"] {
    border-radius: 0 4px 4px 0;
}

#suncheck_resultbox_table[data-result-kind="single"] {
    --sun-timeline-edge-inset: 14px;
    --sun-axis-start: 0%;
    --sun-axis-width: 100%;
}

#suncheck_resultbox_table[data-result-kind="comparison"] {
    --sun-timeline-edge-inset: 14px;
    --sun-axis-start: 0%;
    --sun-axis-width: 100%;
}

.sun-result-timeline-axis-cell {
    overflow: visible;
}

.sun-result-timeline-axis {
    position: relative;
    width: auto;
    height: 26px;
    margin-inline: var(--sun-timeline-edge-inset);
    color: #ffffff;
    font-size: 11px;
    font-weight: 650;
    line-height: 1;
    white-space: nowrap;
}

.sun-result-analysis-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 4px 14px;
    min-height: 0;
    width: 100%;
    margin-left: 0;
    padding: 0;
    color: #dbeafe;
    font-size: 11px;
    font-weight: 650;
    line-height: 16px;
    vertical-align: middle;
    white-space: nowrap;
}

.sun-result-analysis-meta span:not(:first-child) {
    position: relative;
    padding-left: 14px;
}

.sun-result-analysis-meta span:not(:first-child)::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #93c5fd;
    transform: translateY(-50%);
}

.sun-result-timeline-tick {
    position: absolute;
    top: 50%;
    left: var(--sun-tick-position);
    display: block;
    transform: translate(-50%, -50%);
}

/* Preserve the already-agreed scroll/gate offsets: the overlay never covers
 * the scrollbar and only the upgrade action accepts pointer input. */
.snv-analysis-result .snv-license-table-result-gate { z-index: 6; }
.snv-analysis-result .snv-license-view-result-gate { z-index: 6; }

@media (max-height: 760px) {
    .SquareBox.snv-analysis-result {
        --snv-result-header-height: 56px;
        height: calc(100vh - 24px);
        min-height: 500px;
    }

    .snv-analysis-result .snv-analysis-result-header { padding-inline: 16px; }
    .snv-analysis-result .snv-analysis-result-body { gap: 12px; padding: 12px; }
    .snv-analysis-result-sidebar-header { padding: 12px 14px 10px; }
    .snv-analysis-result-tree-scroll { padding-block: 7px 10px; }
    .snv-analysis-result-view-content {
        grid-template-rows: minmax(170px, 0.85fr) minmax(190px, 1fr);
        gap: 10px;
    }
    .snv-analysis-result-preview-grid { gap: 10px; }
}
