
.weld-score-hero{
    background:
        radial-gradient(circle at 78% 18%,rgba(91,124,255,.22),transparent 32%),
        linear-gradient(135deg,#07111f,#10223e);
}

.weld-score-section{
    background:#f2f5fa;
}

.weld-score-layout{
    display:grid;
    grid-template-columns:minmax(290px,360px) minmax(0,1fr);
    gap:22px;
    align-items:start;
    min-width:0;
}

.weld-score-panel,
.weld-score-preview{
    min-width:0;
    border:1px solid #dce4ef;
    border-radius:18px;
    background:#fff;
    color:#14213a;
}

.weld-score-panel{
    position:sticky;
    top:90px;
    display:grid;
    gap:14px;
    padding:22px;
}

.weld-score-panel h2,
.weld-score-preview h2{
    margin:0;
    color:#14213a;
}

.weld-score-panel h2{
    font-size:28px;
    line-height:1.1;
}

.gd-field{
    display:grid;
    gap:6px;
    margin:0;
    color:#26354d;
    font-size:13px;
    font-weight:750;
}

.gd-field small,
.gd-upload-name,
.gd-message{
    color:#6d7b90;
    font-size:12px;
    font-weight:500;
    line-height:1.45;
}

.gd-field input,
.gd-field textarea,
.gd-field select{
    width:100%;
    min-width:0;
    min-height:42px;
    padding:10px 11px;
    border:1px solid #ccd6e4;
    border-radius:10px;
    background:#fff;
    color:#14213a;
    font:inherit;
    box-sizing:border-box;
}

.gd-field input:focus,
.gd-field textarea:focus,
.gd-field select:focus{
    outline:none;
    border-color:#5b7cff;
    box-shadow:0 0 0 3px rgba(91,124,255,.14);
}

.gd-field textarea{
    min-height:88px;
    resize:vertical;
}

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

.gd-unit-input{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
}

.gd-unit-input small{
    min-width:24px;
    color:#66758c;
    font-weight:700;
}

.gd-upload{
    position:relative;
    min-height:46px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px dashed #aebbd0;
    border-radius:10px;
    background:#f8fafc;
    color:#2455c5;
}

.gd-upload input{
    position:absolute;
    inset:0;
    opacity:0;
    cursor:pointer;
}

.gd-upload strong{
    font-size:13px;
}

.gd-checks{
    display:grid;
    gap:9px;
    margin:0;
    color:#26354d;
    font-size:13px;
    font-weight:650;
}

.gd-checks label{
    display:flex;
    align-items:center;
    gap:8px;
}

.gd-checks input{
    width:auto;
}

.gd-segmented{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:3px;
    border-radius:11px;
    background:#eef2f7;
}

.gd-segmented button{
    min-height:40px;
    border:0;
    border-radius:8px;
    color:#24324a;
    background:transparent;
    font-weight:800;
    cursor:pointer;
}

.gd-segmented button.is-active{
    color:#fff;
    background:#5b7cff;
    box-shadow:0 4px 12px rgba(91,124,255,.22);
}

.gd-reset{
    margin-top:2px;
}

.gd-message{
    min-height:20px;
    margin:0;
}

.weld-score-preview{
    padding:24px;
}

.gd-preview-toolbar{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
}

.gd-preview-toolbar h2{
    margin:5px 0 0;
    font-size:28px;
}

.gd-preview{
    position:relative;
    display:grid;
    place-items:center;
    min-height:520px;
    margin:20px 0;
    padding:24px;
    overflow:auto;
    border:1px solid #dce4ef;
    border-radius:17px;
    background:
        linear-gradient(45deg,#edf1f6 25%,transparent 25%) -8px 0/16px 16px,
        linear-gradient(-45deg,#edf1f6 25%,transparent 25%) -8px 0/16px 16px,
        linear-gradient(45deg,transparent 75%,#edf1f6 75%) -8px 0/16px 16px,
        linear-gradient(-45deg,transparent 75%,#edf1f6 75%) -8px 0/16px 16px,
        #fff;
}

.gd-svg-container{
    display:grid;
    place-items:center;
    width:100%;
    min-width:0;
}

.gd-svg-container svg{
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    max-height:540px;
    overflow:visible;
}

.gd-svg-container svg path[stroke="#ff0000"],
.gd-svg-container svg path[stroke="#FF0000"],
.gd-svg-container svg path[stroke="red"]{
    stroke:#ef1b2d !important;
    stroke-width:2.2px !important;
    opacity:1 !important;
}

.gd-svg-container svg path[stroke="#0000ff"],
.gd-svg-container svg path[stroke="#0000FF"],
.gd-svg-container svg path[stroke="blue"]{
    stroke:#2457ff !important;
    stroke-width:2.6px !important;
    opacity:1 !important;
}

.gd-loading{
    position:absolute;
    z-index:2;
    padding:10px 14px;
    border:1px solid #dce4ef;
    border-radius:999px;
    color:#14213a;
    background:#fff;
    box-shadow:0 10px 25px rgba(6,17,34,.14);
    font-weight:800;
}

.gd-legend{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:0;
}

.gd-legend span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#5f6f86;
    font-size:12px;
    font-weight:700;
}

.gd-dot{
    width:11px;
    height:11px;
    border-radius:50%;
}

.gd-red{background:#ef1b2d}
.gd-blue{background:#2457ff}

.gd-help{
    margin-top:14px;
    padding:12px;
    border-radius:10px;
    background:#f3f6fb;
    color:#68778e;
    font-size:12px;
    line-height:1.5;
}

.tool-output-notice{
    margin-top:14px;
}

.gd-downloads{
    display:flex;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:10px;
    margin-top:12px;
}

@media(max-width:900px){
    .weld-score-layout{
        grid-template-columns:1fr;
    }

    .weld-score-panel{
        position:static;
    }

    .gd-preview{
        min-height:380px;
    }
}

@media(max-width:560px){
    .gd-grid-2{
        grid-template-columns:1fr;
    }

    .gd-preview-toolbar{
        flex-direction:column;
    }

    .gd-preview{
        min-height:300px;
        padding:14px;
    }

    .gd-downloads .button{
        width:100%;
    }
}
