.gdo-tool{padding-top:16px;padding-bottom:46px;min-height:calc(100dvh - 250px)}
.gdo-tool *{box-sizing:border-box}

.gdo-universal-grid{
    display:grid;
    grid-template-columns:245px minmax(0,1fr) 275px;
    gap:14px;
    align-items:start;
}
.gdo-side-panel,
.gdo-workspace{
    min-width:0;
    height:auto;
    align-self:start;
    border:1px solid var(--line,#cfdeeb);
    border-radius:15px;
    background:#fff;
    box-shadow:0 8px 24px rgba(16,54,82,.055);
}
.gdo-side-panel{
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:15px;
}
.gdo-section-heading h2,
.gdo-workspace-heading h2{
    margin:4px 0 0;
    color:#0b2940;
    font-family:Georgia,"Times New Roman",serif;
    font-size:22px;
}
.gdo-drop{
    min-height:145px;
    border:1px dashed #9dbcd6;
    border-radius:11px;
    background:#f6fafe;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    text-align:center;
    color:#617b90;
    cursor:pointer;
    transition:border-color .2s,background .2s;
}
.gdo-drop:hover,.gdo-drop.is-dragging,.gdo-drop.drag{border-color:#3d82f5;background:#eef6ff}
.gdo-drop strong{color:#0b2940;font-size:13px}
.gdo-drop-icon{
    width:45px;height:45px;display:grid;place-items:center;
    border-radius:10px;background:#e6f0ff;color:#2971eb;
    font-size:10px;font-weight:900;
}
.gdo-status{margin:0;min-height:18px;color:#067a45;font-size:10px;font-weight:800;line-height:1.4}
.gdo-side-section{
    display:grid;gap:9px;padding-top:14px;border-top:1px solid #e0e9f0;
}
.gdo-field{display:grid;gap:7px;color:#102e47;font-size:11px;font-weight:800}
.gdo-field input{
    width:100%;height:42px;padding:0 10px;
    border:1px solid #bfd3e5;border-radius:8px;
    background:#fff;color:#102e47;font:inherit;
}
.gdo-input-unit{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.gdo-input-unit b{font-size:10px;color:#58738a}
.gdo-calculated-size{color:#718695;font-size:9px;line-height:1.45}
.gdo-size-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gdo-size-mode-option{
    position:relative;display:block;cursor:pointer;
}
.gdo-size-mode-option input{
    position:absolute;opacity:0;pointer-events:none;
}
.gdo-size-mode-option span{
    display:grid;place-items:center;min-height:40px;padding:0 10px;
    border:1px solid #bfd3e5;border-radius:8px;background:#f7fafc;color:#155693;
    font-size:10px;font-weight:900;transition:border-color .2s,background .2s,color .2s,box-shadow .2s;
}
.gdo-size-mode-option input:checked + span{
    background:#eef6ff;border-color:#3d82f5;color:#155693;box-shadow:0 6px 14px rgba(61,130,245,.10);
}
.gdo-size-grid{display:grid;gap:10px}
.gdo-size-grid input[readonly]{background:#f6f9fc;color:#6f8394;cursor:not-allowed}
.gdo-process-button,.gdo-downloads button{
    min-height:42px;padding:0 12px;border:1px solid #9fc3e6;
    border-radius:8px;background:#fff;color:#155693;
    font:800 11px inherit;cursor:pointer;
}
.gdo-process-button{
    background:#3d82f5;border-color:#3d82f5;color:#fff;
    box-shadow:0 8px 18px rgba(61,130,245,.18);
}
.gdo-process-button:disabled,.gdo-downloads button:disabled{
    cursor:not-allowed;opacity:.46;box-shadow:none;
}
.gdo-more-settings{border-top:1px solid #dde8ef;padding-top:13px}
.gdo-more-settings summary{
    list-style:none;display:flex;align-items:center;justify-content:space-between;
    min-height:40px;padding:0 11px;border:1px solid #b7d0e8;
    border-radius:8px;color:#155693;font-size:11px;font-weight:900;cursor:pointer;
}
.gdo-more-settings summary::-webkit-details-marker{display:none}
.gdo-more-settings[open] summary span{transform:rotate(45deg)}
.gdo-advanced-grid{display:grid;gap:10px;margin-top:10px}
.gdo-check{
    display:flex;align-items:center;gap:8px;min-height:42px;
    padding:8px 10px;border:1px solid #d3e1ed;border-radius:8px;
    background:#f7fafc;color:#102e47;font-size:10px;font-weight:800;
}
.gdo-check input{width:16px;height:16px;accent-color:#3d82f5}
.gdo-workspace{
    min-height:0;
    padding:18px;
    display:grid;
    grid-template-rows:auto auto auto auto auto;
    gap:14px;
}
.gdo-workspace-heading{
    display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
}
.gdo-ready-badge{
    padding:6px 9px;border-radius:999px;background:#e6f7ef;color:#067a45;
    font-size:9px;font-weight:900;text-transform:uppercase;
}
.gdo-preview-grid{
    min-height:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    align-items:start;
}
.gdo-preview-card{
    min-width:0;
    display:grid;
    grid-template-rows:auto auto;
    align-self:start;
}
.gdo-preview-card h3{margin:0 0 8px;color:#102e47;font-size:11px}
.gdo-canvas-wrap{
    position:relative;display:grid;place-items:center;
    min-height:320px;max-height:520px;overflow:hidden;
    border:1px dashed #bfd3e5;border-radius:11px;background:#f6f9fc;
}
.gdo-canvas-wrap.gdo-checker{
    background-color:#f8fafc;
    background-image:
        linear-gradient(45deg,#e4ebf1 25%,transparent 25%),
        linear-gradient(-45deg,#e4ebf1 25%,transparent 25%),
        linear-gradient(45deg,transparent 75%,#e4ebf1 75%),
        linear-gradient(-45deg,transparent 75%,#e4ebf1 75%);
    background-size:18px 18px;
    background-position:0 0,0 9px,9px -9px,-9px 0;
}
.gdo-canvas-wrap canvas{
    display:none;
    max-width:100%;
    max-height:480px;
    width:auto;
    height:auto;
    object-fit:contain;
}
.gdo-canvas-wrap.has-canvas canvas{display:block}
.gdo-canvas-wrap.has-canvas p{display:none}
.gdo-canvas-wrap p{max-width:180px;margin:0;padding:20px;text-align:center;color:#718695;font-size:10px}
.tool-output-notice{margin:0}
.gdo-workspace-status{padding-top:2px}
.gdo-stats{display:flex;flex-wrap:wrap;gap:7px}
.gdo-stats span{
    padding:7px 9px;border-radius:8px;background:#f0f5f9;
    color:#58738a;font-size:9px;
}
.gdo-stats strong{color:#102e47}
.gdo-output-zone{
    margin-top:auto;padding-top:14px;border-top:1px solid #dde8ef;
    display:grid;gap:10px;
}
.gdo-output-zone h3{
    margin:4px 0 0;color:#0b2940;
    font-family:Georgia,"Times New Roman",serif;font-size:18px;
}
.gdo-downloads{display:grid;gap:8px}
.gdo-downloads .gdo-download-primary{
    background:#3d82f5;border-color:#3d82f5;color:#fff;
    box-shadow:0 8px 18px rgba(61,130,245,.17);
}
@media(max-width:1180px){
    .gdo-universal-grid{grid-template-columns:220px minmax(0,1fr)}
    .gdo-side-right{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);align-items:end}
    .gdo-side-right .gdo-section-heading,.gdo-side-right .gdo-output-zone{grid-column:1/-1}
    .gdo-advanced-grid{grid-template-columns:repeat(2,1fr)}
    .gdo-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .gdo-canvas-wrap{min-height:240px;max-height:460px}
}
@media(max-width:820px){
    .gdo-universal-grid{grid-template-columns:1fr}
    .gdo-side-right{grid-column:auto;display:flex}
    .gdo-preview-grid{grid-template-columns:1fr}
    .gdo-canvas-wrap{min-height:220px;max-height:none}
}


/* Stand connector / matching base */
.gdo-connector-settings{border-top:1px solid #dde8ef;padding-top:13px}
.gdo-connector-settings summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:0 11px;border:1px solid #b7d0e8;border-radius:8px;color:#155693;font-size:11px;font-weight:900;cursor:pointer}
.gdo-connector-settings summary::-webkit-details-marker{display:none}
.gdo-connector-settings[open] summary span{transform:rotate(45deg)}
.gdo-connector-grid,.gdo-connector-fields,.gdo-rectangle-options{display:grid;gap:10px}
.gdo-connector-grid{margin-top:10px}
.gdo-connector-grid select{width:100%;min-height:42px;padding:0 10px;border:1px solid #bfd3e5;border-radius:8px;background:#fff;color:#102e47;font:inherit}
.gdo-connector-fields[hidden],#gdo-tab-spacing-field[hidden],.gdo-rectangle-options[hidden],#gdo-corner-radius-field[hidden]{display:none}
.gdo-compact-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gdo-connector-divider{height:1px;background:#e0e9f0;margin:2px 0}
.gdo-connector-help{margin:0;padding:9px 10px;border:1px solid #dbe7ef;border-radius:8px;background:#f8fbfd;color:#6f8394;font-size:9px;line-height:1.45}
#gdo-base-preview{max-width:100%;max-height:500px}
@media(max-width:620px){.gdo-compact-two{grid-template-columns:1fr}}

.gdo-stand-only[hidden],
.gdo-cake-fields[hidden]{display:none}
.gdo-cake-fields{display:grid;gap:10px}

#gdo-cake-spike-spacing-field[hidden]{display:none}