body .tripo-source-form{--source-theme:var(--feature-theme,#e8b94b);color:var(--feature-ink,#244367);min-width:0}
body .tripo-source-form [hidden]{display:none!important}
body .tripo-source-form .tripo-source-section{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid #ddd5c5}
body .tripo-source-form .text-label,body .tripo-source-form .tripo-source-adjust label{display:block;font-size:18px;font-weight:700;line-height:1.4;margin:0 0 14px;color:inherit}
body .tripo-source-form textarea,body .tripo-source-form select{box-sizing:border-box;width:100%;max-width:100%;border:1px solid #c9d2d9;border-radius:18px;background:#fffcf6;color:inherit;padding:14px 16px;font:inherit;font-size:15px;line-height:1.65;margin:0}
body .tripo-source-form textarea{min-height:116px;resize:vertical}
body .tripo-source-form .hint,body .tripo-source-form [role=status]{font-size:12px;line-height:1.7;color:#737d7b;margin:12px 0}
body .tripo-source-form [role=status]:empty{display:none}
body .tripo-source-form .reference-source{padding:0;border:0;background:transparent;margin:16px 0 28px}
body .tripo-source-form .reference-source .upload-button{display:flex;align-items:center;justify-content:center;position:relative;box-sizing:border-box;width:100%;margin:0;padding:10px 14px;border:1px dashed color-mix(in srgb,var(--source-theme) 55%,#a9bbc8);border-radius:24px;background:color-mix(in srgb,var(--source-theme) 18%,#fffaf2);min-height:44px;font:inherit;font-size:14px;cursor:pointer;color:inherit}
body .tripo-source-form .reference-source .upload-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}
body .tripo-source-form .reference-source .upload-button:has(input:disabled){opacity:.55;cursor:wait}
body .tripo-source-form .reference-source .upload-button:focus-within{outline:2px solid #244367;outline-offset:3px}
body .tripo-source-form #reference-preview{display:block;width:100%;height:150px;object-fit:contain;background:#fffdf6;border-radius:12px;margin-top:12px}
body .tripo-source-form .reference-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0}
body .tripo-source-form #reference-name{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body .tripo-source-form #reference-remove{flex-shrink:0;font-size:12px;padding:6px;border:0;background:transparent;color:inherit}
body .tripo-source-form .tripo-generate,body .tripo-source-form .tripo-resume{box-sizing:border-box;width:100%;border:1px solid #a9b4be;border-radius:25px;min-height:48px;font:inherit;font-size:15px;font-weight:600;padding:12px 16px;background:#f5e3ad;color:#244367;cursor:pointer}
body .tripo-source-form .tripo-generate:disabled{color:#98a6b4;opacity:.8;cursor:default}
body .tripo-source-form .tripo-refresh{display:block;box-sizing:border-box;width:100%;margin:12px 0 0;border:1px solid #c9d2d9;border-radius:24px;background:#fffcf6;color:inherit;min-height:42px;font:inherit;font-size:13px;text-decoration:none;cursor:pointer}
body .tripo-source-form .studio-link{display:block;box-sizing:border-box;width:100%;text-align:center;border:1px solid #c3b88d;border-radius:24px;padding:12px 16px;font:inherit;font-size:13px;text-decoration:none;background:transparent;color:inherit}
body .tripo-source-form .tripo-source-adjust .field{margin:0}
body .tripo-source-form .tripo-source-adjust output{float:right;font-size:13px;font-weight:400}
body .tripo-source-form .tripo-source-connection{font-size:12px;margin-top:20px}
body .tripo-source-form .tripo-source-connection button{font:inherit;margin-top:10px;padding:8px 12px}

/* Compact layer adapter: reuse the source form without repeated helper prose. */
body .tripo-source-form.tripo-source-compact{display:flex;flex-direction:column;gap:16px}
body .tripo-source-compact .tripo-source-section{display:flex;flex-direction:column;gap:12px;padding:0 0 16px;margin:0}
body .tripo-source-compact .text-label{font-size:14px;margin:0;line-height:1.5}
body .tripo-source-compact :is(textarea,select){font-size:14px;padding:10px 12px;border-radius:12px;line-height:1.6;margin:0}
body .tripo-source-compact textarea{min-height:108px}
body .tripo-source-compact .reference-source{margin:0}
body .tripo-source-compact .reference-help{display:none}
body .tripo-source-compact :is(.hint,[role=status]){color:#355a85;margin:8px 0 0;font-size:12px}
body .tripo-source-compact :is(.tripo-generate,.tripo-resume,.tripo-refresh,.studio-link,.upload-button){text-align:center;border-radius:12px;min-height:44px;margin:0;padding:10px 12px;line-height:1.5;font-size:13px}
body .tripo-source-compact .tripo-generate{background:#f5e3ad}
body .tripo-source-compact .tripo-connection-row{display:flex;justify-content:center}
body .tripo-source-compact .tripo-connection-row button{color:#355a85;border:0;background:transparent;font-size:12px;margin:0;min-height:36px}
