/* Isolated styling for SevastanCharacter3D. */
.c3d-preview { position: relative; min-height: 360px; overflow: hidden; background: radial-gradient(circle at 50% 30%, #1d2922 0, #0b100d 48%, #050707 100%); color: #e7d3a1; }
.c3d-stage, .c3d-canvas { display:block; width:100%; height:100%; min-height:360px; }
.c3d-canvas { cursor: grab; touch-action:none; outline:none; }
.c3d-canvas:active { cursor:grabbing; }
.c3d-model-loader { position:absolute; inset:0; z-index:5; display:grid; place-content:center; justify-items:center; gap:9px; background:radial-gradient(circle at 50% 42%,rgba(38,52,42,.96),rgba(5,8,7,.98) 68%); opacity:0; visibility:hidden; transition:opacity .18s ease; pointer-events:none; }
.c3d-model-loader i { width:58px; height:112px; border:1px solid rgba(234,211,142,.42); border-radius:46% 46% 34% 34%; background:linear-gradient(90deg,transparent,rgba(234,211,142,.14),transparent); box-shadow:0 0 38px rgba(234,211,142,.08); animation:c3d-pulse 1.25s ease-in-out infinite; }
.c3d-model-loader b { color:#ead38e; font:700 10px/1.2 ui-monospace,monospace; letter-spacing:.16em; }
.c3d-model-loader span { color:#8d978b; font:700 8px/1.2 ui-monospace,monospace; letter-spacing:.12em; }
.c3d-preview.is-loading-model .c3d-model-loader,.c3d-preview.is-model-error .c3d-model-loader { opacity:1; visibility:visible; }
.c3d-preview.is-loading-model .c3d-canvas { opacity:0; }
.c3d-preview.is-model-error .c3d-model-loader i { animation:none; border-color:#a65f50; }
.c3d-preview.is-model-error .c3d-model-loader b,.c3d-preview.is-model-error .c3d-model-loader span { display:none; }
.c3d-preview.is-model-error .c3d-model-loader::after { content:'REALISTIC MODEL UNAVAILABLE'; color:#d58b77; font:700 10px/1.2 ui-monospace,monospace; letter-spacing:.12em; }
@keyframes c3d-pulse { 0%,100%{opacity:.45;transform:scale(.96)}50%{opacity:1;transform:scale(1.025)} }
.c3d-a11y { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.c3d-controls { position:absolute; right:12px; bottom:12px; display:flex; gap:6px; padding:6px; border:1px solid rgba(208,176,93,.35); background:rgba(5,8,7,.8); }
.c3d-controls button { width:32px; height:32px; border:1px solid rgba(208,176,93,.45); background:#101713; color:#ead38e; font:600 20px/1 Georgia,serif; cursor:pointer; }
.c3d-controls button:hover, .c3d-controls button:focus-visible { border-color:#f2d477; background:#1b281f; outline:2px solid #f2d477; outline-offset:2px; }
@media (max-width: 640px) { .c3d-preview,.c3d-stage,.c3d-canvas { min-height:280px; } }

/* Integrated Pathfinder-inspired record layout. */
.ce-dialog { width:min(1280px,100%); }
.ce-main { grid-template-columns:minmax(430px,48%) minmax(0,1fr); }
.ce-preview-panel { overflow:hidden; }
.ce-avatar.ce-avatar-3d { flex:1 1 440px; min-height:440px; background:#070a09; }
.ce-3d-host,.ce-3d-host .c3d-stage,.ce-3d-host .c3d-canvas { width:100%; height:100%; min-height:440px; }
.ce-3d-fields { display:grid; grid-template-columns:repeat(3,minmax(130px,1fr)); gap:16px; align-items:end; padding-top:5px; }
.ce-3d-fields label,.ce-3d-fields fieldset { display:grid; gap:7px; margin:0; padding:0; border:0; }
.ce-3d-fields span,.ce-3d-fields legend { color:#b5b9ad; font-size:9px; font-weight:800; letter-spacing:.13em; }
.ce-3d-fields label { grid-template-columns:1fr auto; }
.ce-3d-fields label input { grid-column:1/-1; accent-color:#d5a84d; }
.ce-3d-fields input[type=color] { width:44px; height:38px; padding:3px; border:1px solid rgba(218,204,166,.18); background:#101713; }
.ce-3d-fields select { min-height:38px; border:1px solid rgba(218,204,166,.18); background:#101713; color:#e9e4d5; padding:7px; }
@media(max-width:760px){.ce-main{grid-template-columns:1fr}.ce-preview-panel{display:block;overflow:visible}.ce-avatar.ce-avatar-3d,.ce-3d-host,.ce-3d-host .c3d-stage,.ce-3d-host .c3d-canvas{min-height:300px}.ce-3d-fields{grid-template-columns:1fr 1fr}.ce-3d-fields label{grid-column:1/-1}}
