.cgg-preview{width:100%;height:200px;border-radius:12px;border:1px solid var(--border,#e5e7eb);margin-bottom:1.25rem;background:linear-gradient(135deg,#E8472F,#ffd194);}
.cgg-controls-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.75rem;flex-wrap:wrap;}
.cgg-type-tabs{display:inline-flex;background:var(--bg,#FFFFFF);border:1.5px solid var(--border,#e5e7eb);border-radius:9px;padding:3px;}
.cgg-type-tab{padding:.5rem 1.125rem;background:none;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;color:var(--muted,#6b7280);}
.cgg-type-tab--active{background:#fff;color:var(--text,#0D1B2A);box-shadow:0 1px 3px rgba(0,0,0,0.06);}
.cgg-random-btn{padding:.5rem 1rem;background:var(--bg,#FFFFFF);border:1.5px solid var(--border,#e5e7eb);border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;color:var(--text,#0D1B2A);transition:all .15s;}
.cgg-random-btn:hover{border-color:var(--accent,#E8472F);color:var(--accent,#E8472F);}
.cgg-controls-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap;}
.cgg-control-label{font-size:.8125rem;font-weight:600;color:var(--text,#0D1B2A);min-width:60px;}
#cgg-angle{flex:1;min-width:200px;accent-color:var(--accent,#E8472F);}
.cgg-control-val{font-size:.8125rem;font-weight:600;font-family:monospace;color:var(--muted,#6b7280);min-width:48px;text-align:right;}
.cgg-select{padding:.45rem .75rem;border:1.5px solid var(--border,#e5e7eb);border-radius:8px;font-size:.875rem;font-family:inherit;background:#fff;cursor:pointer;}
.cgg-stops-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border,#e5e7eb);}
.cgg-stops-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;}
.cgg-stops-header > span{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#6b7280);}
.cgg-add-stop-btn{padding:.4rem .75rem;background:var(--bg,#FFFFFF);border:1.5px solid var(--border,#e5e7eb);border-radius:7px;font-size:.75rem;font-weight:600;cursor:pointer;color:var(--text,#0D1B2A);transition:all .15s;}
.cgg-add-stop-btn:not(:disabled):hover{border-color:var(--accent,#E8472F);color:var(--accent,#E8472F);}
.cgg-add-stop-btn:disabled{opacity:.4;cursor:not-allowed;}
.cgg-stops{display:flex;flex-direction:column;gap:.5rem;}
.cgg-stop{display:grid;grid-template-columns:50px 1fr 50px auto;gap:.625rem;align-items:center;}
.cgg-stop-color{width:50px;height:36px;border:1.5px solid var(--border,#e5e7eb);border-radius:7px;cursor:pointer;background:none;padding:0;}
.cgg-stop-pos{flex:1;accent-color:var(--accent,#E8472F);}
.cgg-stop-pos-val{font-size:.75rem;font-family:monospace;color:var(--muted,#6b7280);text-align:right;}
.cgg-stop-remove{width:30px;height:30px;border-radius:50%;background:#fee2e2;border:none;color:#991b1b;font-weight:700;cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;}
.cgg-stop-remove:hover{background:#fecaca;}
.cgg-output-section{margin-top:1.5rem;padding:1.125rem;background:#0D1B2A;border-radius:10px;color:#e5e7eb;}
.cgg-output-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;margin-bottom:.5rem;}
.cgg-output{font-family:monospace;font-size:.8125rem;line-height:1.5;color:#fff;background:none;border:none;padding:0;margin:0;white-space:pre-wrap;word-break:break-all;}
.cgg-copy-btn{margin-top:.75rem;padding:.5rem 1rem;background:var(--accent,#E8472F);color:#fff;border:none;border-radius:7px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s;}
.cgg-copy-btn:hover{background:#D43E27;}
.cgg-copy-btn--success{background:#16a34a !important;}
.cgg-presets-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border,#e5e7eb);}
.cgg-presets-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#6b7280);margin-bottom:.625rem;}
.cgg-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.625rem;}
.cgg-preset{height:64px;border:1.5px solid var(--border,#e5e7eb);border-radius:9px;cursor:pointer;position:relative;overflow:hidden;font:inherit;padding:0;transition:transform .15s, border-color .15s;}
.cgg-preset:hover{transform:translateY(-2px);border-color:var(--accent,#E8472F);}
.cgg-preset-label{position:absolute;bottom:6px;left:8px;font-size:.7rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.4);letter-spacing:.02em;}
@media(max-width:520px){.cgg-stop{grid-template-columns:40px 1fr 40px 28px;gap:.4rem;}}

/* cache-buster: 2026-05-24T05:06:05Z */
