.collage-body{max-width:960px;width:100%;margin:96px auto;padding:0 24px}.collage-tabs{display:flex;gap:0;border:1px solid var(--hairline);border-radius:4px;overflow:hidden;background:var(--surface-soft);margin-bottom:24px}.collage-tab{flex:1;display:flex;align-items:center;justify-content:center;padding:8px 12px;cursor:pointer;font-size:14px;color:var(--mute);transition:background 150ms,color 150ms;font-family:var(--font);border:none;background:none}.collage-tab.is-active{background:var(--ink);color:var(--canvas)}.collage-grid-settings{display:flex;gap:16px;flex-wrap:wrap;align-items:end;margin-bottom:24px}.collage-setting{display:flex;flex-direction:column;gap:4px}.collage-setting label{font-size:12px;color:var(--mute)}.collage-setting input,.collage-setting select{font-family:var(--font);font-size:14px;background:var(--surface-soft);color:var(--ink);border:1px solid var(--hairline);border-radius:4px;padding:6px 8px;height:32px;width:80px}.collage-setting input[type=color]{width:40px;height:32px;padding:2px;cursor:pointer}.collage-canvas-wrap{position:relative;border:1px solid var(--hairline);border-radius:4px;background:var(--surface-soft);min-height:200px;overflow:auto;margin-bottom:16px}.collage-cell-grid{display:grid;gap:4px;padding:16px}.collage-cell{position:relative;aspect-ratio:1;border:1px dashed var(--hairline-strong);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;background:var(--surface-soft);transition:border-color 150ms}.collage-cell:hover{border-color:var(--ink)}.collage-cell.has-image{border-style:solid;border-color:var(--ash)}.collage-cell img,.collage-cell canvas{width:100%;height:100%;object-fit:cover;display:block}.collage-cell-label{position:absolute;bottom:4px;right:4px;font-size:10px;color:var(--mute);background:var(--canvas);padding:0 4px;border-radius:2px;line-height:1.4}.collage-cell-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;border:1px solid var(--hairline);background:var(--canvas);color:var(--ink);font-family:var(--font);font-size:12px;font-weight:700;line-height:1;cursor:pointer;padding:0;display:none;z-index:2}.collage-cell.has-image .collage-cell-remove{display:flex;align-items:center;justify-content:center}.collage-freestyle-workspace{position:relative;min-height:400px;background:var(--canvas);margin:0;border-radius:4px}.collage-freestyle-layer{position:absolute;cursor:move;border:2px solid transparent;border-radius:4px;overflow:hidden}.collage-freestyle-layer:hover,.collage-freestyle-layer.is-selected{border-color:var(--accent)}.collage-freestyle-layer canvas{width:100%;height:100%;display:block;pointer-events:none}.collage-layer-resize-handle{position:absolute;width:10px;height:10px;background:#fff;border:2px solid var(--accent);border-radius:50%;z-index:3}.collage-layer-resize-handle.se{bottom:-5px;right:-5px;cursor:nwse-resize}.collage-layer-resize-handle.sw{bottom:-5px;left:-5px;cursor:nesw-resize}.collage-layer-resize-handle.ne{top:-5px;right:-5px;cursor:nesw-resize}.collage-layer-resize-handle.nw{top:-5px;left:-5px;cursor:nwse-resize}.collage-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.collage-settings-panel{margin-top:16px;border:1px solid var(--hairline-strong);border-radius:4px;background:var(--surface-soft);padding:16px}.collage-settings-inner h3{font-size:14px;color:var(--ink);margin-bottom:12px}.collage-settings-panel .setting-row{display:flex;gap:12px;margin-bottom:8px;align-items:center;flex-wrap:wrap}.collage-settings-panel .setting-row label{font-size:12px;color:var(--mute);min-width:80px}.collage-settings-panel .setting-row input{font-family:var(--font);font-size:13px;background:var(--canvas);color:var(--ink);border:1px solid var(--hairline);border-radius:4px;padding:4px 8px;height:28px;width:90px}.collage-settings-panel .setting-row input[type=color]{width:36px;padding:2px}