.lsg-app{margin-bottom: 2rem;}
.lsg-presets{display: flex;flex-wrap: wrap;align-items: center;gap: 0.5rem 0.75rem;margin-bottom: 1rem;}
.lsg-presets-label{font-size: 0.75rem;font-weight: 600;text-transform: uppercase;letter-spacing: 0.05em;color: var(--text-muted,#64748b);flex-shrink: 0;}
.lsg-presets-scroll{display: flex;gap: 0.5rem;overflow-x: auto;scrollbar-width: thin;-webkit-overflow-scrolling: touch;padding: 0.15rem 0;}
.lsg-presets-scroll::-webkit-scrollbar{height: 4px;}
.lsg-chip{padding: 0.5rem 0.875rem;font-size: 0.875rem;font-weight: 500;color: var(--text-main,#334155);background: var(--surface,#fff);border: 1px solid var(--border,#e2e8f0);border-radius: 999px;cursor: pointer;transition: background 0.2s,border-color 0.2s,color 0.2s;flex-shrink: 0;white-space: nowrap;}
.lsg-chip:hover{background: var(--surface-muted,#f8fafc);border-color: var(--primary,#2563eb);color: var(--primary,#2563eb);}
.lsg-chip:focus-visible{outline: 2px solid var(--primary,#2563eb);outline-offset: 2px;}
.lsg-canvas-wrap{width: 100%;max-width: 100%;background: var(--surface-muted,#f8fafc);border-radius: 12px;border: 1px solid var(--border,#e2e8f0);overflow: hidden;display: flex;align-items: center;justify-content: center;min-height: 240px;margin-bottom: 1.25rem;}
.lsg-canvas-wrap canvas{width: 100%;height: auto;max-height: min(70vmin,420px);display: block;}
.lsg-form-wrap{background: var(--surface,#fff);border: 1px solid var(--border,#e2e8f0);border-radius: 12px;padding: 1.25rem;margin-bottom: 1rem;}
.lsg-form{display: flex;flex-direction: column;gap: 1rem;}
.lsg-field{display: flex;flex-direction: column;gap: 0.35rem;}
.lsg-field label{font-size: 0.8125rem;font-weight: 600;color: var(--text-main,#334155);}
.lsg-field input,.lsg-field textarea{width: 100%;padding: 0.6rem 0.75rem;font-size: 0.9375rem;color: var(--text-main,#334155);background: var(--surface,#fff);border: 1px solid var(--border,#e2e8f0);border-radius: 8px;font-family: inherit;}
.lsg-field input:focus,.lsg-field textarea:focus{outline: none;border-color: var(--primary,#2563eb);box-shadow: 0 0 0 2px rgba(37,99,235,0.15);}
.lsg-field textarea{resize: vertical;min-height: 4.5rem;}
.lsg-row{display: grid;grid-template-columns: 1fr 1fr 1fr;gap: 0.75rem;}
.lsg-field-num input{max-width: 6rem;}
.lsg-actions{display: flex;gap: 0.75rem;flex-wrap: wrap;}
.lsg-btn{padding: 0.65rem 1.35rem;font-size: 0.9375rem;font-weight: 600;border-radius: 8px;cursor: pointer;transition: background 0.2s,color 0.2s,border-color 0.2s;border: 1px solid transparent;}
.lsg-btn-primary{background: var(--primary,#2563eb);color: #fff;}
.lsg-btn-primary:hover{background: var(--primary-dark,#1d4ed8);}
.lsg-btn-secondary{background: var(--surface,#fff);color: var(--text-main,#334155);border-color: var(--border,#e2e8f0);}
.lsg-btn-secondary:hover{background: var(--surface-muted,#f1f5f9);border-color: var(--text-muted,#94a3b8);}
.lsg-info{min-height: 1.5rem;font-size: 0.875rem;color: var(--text-muted,#64748b);padding: 0.75rem 0;}
.lsg-info .lsg-success{padding: 0.75rem 1rem;background: var(--surface-muted,#f0fdf4);border-radius: 8px;border-left: 4px solid #22c55e;color: var(--text-main,#334155);}
.lsg-info .lsg-error{padding: 0.75rem 1rem;background: #fef2f2;border-radius: 8px;border-left: 4px solid #ef4444;color: #b91c1c;}
@media (max-width: 479px){.lsg-row{grid-template-columns: 1fr;}.lsg-field-num input{max-width: none;}}
@media (min-width: 640px){.lsg-app{display: grid;grid-template-columns: 1fr 1fr;grid-template-rows: auto 1fr auto;gap: 1rem 1.5rem;align-items: start;}
.lsg-presets{grid-column: 1 / -1;margin-bottom: 0;}
.lsg-canvas-wrap{grid-column: 1;grid-row: 2 / 4;min-height: 320px;margin-bottom: 0;}
.lsg-canvas-wrap canvas{max-height: min(80vmin,520px);}
.lsg-form-wrap{grid-column: 2;grid-row: 2;}
.lsg-info{grid-column: 2;grid-row: 3;padding-top: 0;}}
